aboutsummaryrefslogtreecommitdiffstatshomepage
path: root/examples/plugins/draftbottles/__init__.py
diff options
context:
space:
mode:
Diffstat (limited to 'examples/plugins/draftbottles/__init__.py')
-rw-r--r--examples/plugins/draftbottles/__init__.py48
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