diff options
Diffstat (limited to 'examples/plugins/draftbottles/__init__.py')
| -rw-r--r-- | examples/plugins/draftbottles/__init__.py | 48 |
1 files changed, 0 insertions, 48 deletions
diff --git a/examples/plugins/draftbottles/__init__.py b/examples/plugins/draftbottles/__init__.py deleted file mode 100644 index 1a71f1d..0000000 --- a/examples/plugins/draftbottles/__init__.py +++ /dev/null @@ -1,48 +0,0 @@ -from typing import Union -from iamai import Plugin, Event, Depends -from iamai.log import logger -from .config import Config -from iamai.event import MessageEvent -from .database import Database -from .permission import Permission -from .workroutes import WorkRoutes -from .inspector import Inspector - - -class Bottles(Plugin, config=Config): - database: Database = Depends() - permission: Permission = Depends() - workroutes: WorkRoutes = Depends() - inspector: Inspector = Depends() - - def __init__(self): - self.text = None - self.prefix = None - self.suffix = None - - async def handle(self) -> None: - self.namespace = next( - ( - key - for key, value in self.config.command_list.items() - if value == self.prefix - ), - "", - ) - if method := getattr(self.inspector, self.namespace, None): - result = await method(self.suffix, self.config) - if result: - await self.event.reply(result) - - async def rule(self) -> bool: - if not isinstance(self.event, MessageEvent): - return False - if not self.permission.is_admin(): - return False - self.text = self.event.get_plain_text() - for prefix in list(self.config.command_list.values()): - if self.text.startswith(prefix): - self.prefix = prefix - self.suffix = self.text[len(self.prefix) + 1 :] - return True - return False |
