Browse Source

Make Rollbot.parse async

Kirk Trombley 3 years ago
parent
commit
1233dce6af
3 changed files with 5 additions and 5 deletions
  1. 1 1
      drivers/command_driver.py
  2. 2 2
      drivers/groupme.py
  3. 2 2
      rollbot/rollbot/bot.py

+ 1 - 1
drivers/command_driver.py

@@ -30,7 +30,7 @@ class TerminalBot(rollbot.Rollbot[str]):
                 return None
         return cfg
 
-    def parse(self, raw):
+    async def parse(self, raw):
         return rollbot.Message(
             origin_id="REPL",
             channel_id=".",

+ 2 - 2
drivers/groupme.py

@@ -40,7 +40,7 @@ class GroupMeBot(rollbot.Rollbot[GroupMeMessage]):
     def __init__(self):
         super().__init__(config.extend(rollbot.CommandConfiguration(bangs=("!",))), database_file)
 
-    def read_config(self, key):
+    def read_config(self, key: str) -> Any:
         cfg = secrets
         for part in key.split("."):
             cfg = cfg.get(part, None)
@@ -48,7 +48,7 @@ class GroupMeBot(rollbot.Rollbot[GroupMeMessage]):
                 return None
         return cfg
 
-    def parse(self, msg: GroupMeMessage):
+    async def parse(self, msg: GroupMeMessage):
         return rollbot.Message(
             origin_id="GROUPME",
             channel_id=msg.group_id,

+ 2 - 2
rollbot/rollbot/bot.py

@@ -30,7 +30,7 @@ class Rollbot(Generic[RawMsg]):
     def read_config(self, key: str) -> Any:
         raise NotImplementedError("Must be implemented by driver")
 
-    def parse(self, incoming: RawMsg) -> Message:
+    async def parse(self, incoming: RawMsg) -> Message:
         raise NotImplementedError("Must be implemented by driver")
 
     async def respond(self, response: Response):
@@ -44,7 +44,7 @@ class Rollbot(Generic[RawMsg]):
         await self.context.request.close()
 
     async def on_message(self, incoming: RawMsg):
-        message = self.parse(incoming)
+        message = await self.parse(incoming)
         if message.text is None:
             return