Initial commit

This commit is contained in:
CarmiCoven
2026-07-23 01:02:12 +10:00
commit b8ffacd916
11 changed files with 132 additions and 0 deletions
View File
+1
View File
@@ -0,0 +1 @@
from .plugin import setup, twitch_setup
+11
View File
@@ -0,0 +1,11 @@
BEGIN;
-- Version dependency checks
DO $$
ASSERT current_module_version('PROFILES') = 1, 'Dependency version mismatch: PROFILES';
$$ LANGUAGE plpgsql;
-- Plugin version history
INSERT INTO version_history (component, from_version, to_version, author) VALUES ('AWESOME_PLUGIN', 0, 1, 'Initial Creation');
COMMIT;
+11
View File
@@ -0,0 +1,11 @@
import logging
logger = logging.getLogger(__name__)
from .discord import setup
from .twitch import setup as twitch_setup
__all__ = (
'setup',
'twitch_setup',
)
+15
View File
@@ -0,0 +1,15 @@
from typing import Optional
from .data import (
AwesomeData,
AwesomeTable,
)
class AwesomeRegistry:
VERSION = AwesomeData.VERSION
def __init__(self, data: AwesomeData):
self.data = data
async def init(self):
await self.data.init()
+17
View File
@@ -0,0 +1,17 @@
from data import Registry, RowModel, Table
from data.columns import String, Timestamp, Integer, Bool
class AwesomeTable(RowModel):
_tablename_ = "awesome_table"
_cache_ = {}
userid = String(primary=True)
_timestamp = Timestamp()
class AwesomeData(Registry):
VERSION = ("AWESOME", 1)
AwesomeTable = AwesomeTable
awesome_table = AwesomeTable.table
+7
View File
@@ -0,0 +1,7 @@
from .. import logger
async def setup(bot):
from .cog import AwesomeCog
await bot.add_cog(AwesomeCog(bot))
+26
View File
@@ -0,0 +1,26 @@
from typing import Optional
import asyncio
import discord
from discord.ext import commands as cmds
from discord import app_commands as appcmds
from meta import LionBot, LionCog, LionContext
from meta.logger import log_wrap
from utils.lib import utc_now
from ..data import AwesomeData
from ..awesome import AwesomeRegistry
class AwesomeCog(LionCog):
def __init__(self, bot: LionBot):
self.bot = bot
self.data = bot.db.load_registry(AwesomeData())
self.profiles = AwesomeRegistry(self.data)
async def cog_load(self):
await self.data.init()
await self.bot.version_check(*self.data.VERSION)
await self.profiles.init()
+11
View File
@@ -0,0 +1,11 @@
from typing import TYPE_CHECKING
from .. import logger
if TYPE_CHECKING:
from meta.bot import Bot
async def setup(bot: "Bot"):
from .component import AwesomeComponent
await bot.add_component(AwesomeComponent(bot))
+33
View File
@@ -0,0 +1,33 @@
from typing import Optional
import asyncio
import twitchio
from twitchio.ext import commands as cmds
from meta import Bot
from meta.logger import log_wrap
from utils.lib import utc_now
from . import logger
from ..data import AwesomeData
from ..awesome import AwesomeRegistry
class AwesomeComponent(cmds.Component):
def __init__(self, bot: Bot):
self.bot = bot
self.data = bot.dbconn.load_registry(AwesomeData())
self.awesome = AwesomeRegistry(self.data)
# ----- API -----
async def component_load(self):
await self.data.init()
await self.bot.version_check(*self.data.VERSION)
await self.profiles.init()
async def component_teardown(self):
pass
# ------ Commands -----
View File