10 Commits

9 changed files with 53 additions and 7 deletions
+4 -1
View File
@@ -3,10 +3,13 @@
url = https://git.thewisewolf.dev/HoloTech/psqlmapper.git url = https://git.thewisewolf.dev/HoloTech/psqlmapper.git
[submodule "src/modules/subathon"] [submodule "src/modules/subathon"]
path = src/modules/subathon path = src/modules/subathon
url = https://git.thewisewolf.dev/HoloTech/twitch-subathon-plugin.git url = https://git.thewisewolf.dev/CarmiCoven/lilac-subathon-plugin.git
[submodule "src/modules/tracker"] [submodule "src/modules/tracker"]
path = src/modules/tracker path = src/modules/tracker
url = https://git.thewisewolf.dev/HoloTech/twitch-eventtracker-plugin.git url = https://git.thewisewolf.dev/HoloTech/twitch-eventtracker-plugin.git
[submodule "src/modules/profiles"] [submodule "src/modules/profiles"]
path = src/modules/profiles path = src/modules/profiles
url = https://git.thewisewolf.dev/HoloTech/profiles-plugin.git url = https://git.thewisewolf.dev/HoloTech/profiles-plugin.git
[submodule "src/modules/exec"]
path = src/modules/exec
url = https://git.thewisewolf.dev/HoloTech/exec-plugin.git
+12
View File
@@ -17,6 +17,18 @@ BEGIN
END; END;
$$ language 'plpgsql'; $$ language 'plpgsql';
CREATE OR REPLACE FUNCTION current_module_version(module_name TEXT)
RETURNS INTEGER
AS $$
SELECT
to_version
FROM version_history
WHERE
component = $1
ORDER BY _timestamp DESC
LIMIT 1;
$$ LANGUAGE SQL;
CREATE TABLE app_config( CREATE TABLE app_config(
appname TEXT PRIMARY KEY, appname TEXT PRIMARY KEY,
created_at TIMESTAMPTZ NOT NULL DEFAULT now() created_at TIMESTAMPTZ NOT NULL DEFAULT now()
+6 -3
View File
@@ -4,9 +4,12 @@ if TYPE_CHECKING:
from meta import Bot from meta import Bot
async def twitch_setup(bot: 'Bot'): async def twitch_setup(bot: "Bot"):
# Import and run setup methods from each module # Import and run setup methods from each module
from . import profiles, tracker, subathon from . import profiles, tracker, subathon, exec, yarn
await profiles.twitch_setup(bot) await profiles.twitch_setup(bot)
await tracker.twitch_setup(bot) await tracker.twitch_setup(bot)
await subathon.twitch_setup(bot) await subathon.twitch_setup(bot)
await exec.twitch_setup(bot)
await yarn.twitch_setup(bot)
+1
Submodule src/modules/exec added at f0bdbaed3c
+7
View File
@@ -0,0 +1,7 @@
import logging
logger = logging.getLogger()
async def twitch_setup(bot):
from .component import YarnComponent
await bot.add_component(YarnComponent(bot))
+20
View File
@@ -0,0 +1,20 @@
import asyncio
import twitchio
from twitchio import PartialUser, Scopes, eventsub
from twitchio.ext import commands as cmds
from meta import Bot, Context
from . import logger
class YarnComponent(cmds.Component):
def __init__(self, bot: Bot):
self.bot = bot
@cmds.Component.listener()
async def event_custom_redemption_add(self, payload: twitchio.ChannelPointsRedemptionAdd):
logger.info(f"Yarn got {payload!r}")
if payload.reward.title == 'pet lilac':
await payload.broadcaster.send_message("lilac PETPET", sender="1097964183")