Przeglądaj źródła

Static factory method for discord -> RollbotMessage

Kirk Trombley 6 lat temu
rodzic
commit
5e294fe7b0
1 zmienionych plików z 16 dodań i 0 usunięć
  1. 16 0
      src/command_system.py

+ 16 - 0
src/command_system.py

@@ -54,6 +54,22 @@ class RollbotMessage:
                 sender_id in group_admins[group_id])
         )
 
+    @staticmethod
+    def from_discord(msg, global_admins=(), group_admins={}):
+        sender_id = str(msg.author.id)
+        group_id = str(msg.channel.id)
+        return RollbotMessage(
+            "DISCORD",
+            msg.author.name,
+            sender_id,
+            group_id,
+            msg.id,
+            msg.content.strip(),
+            sender_id in global_admins or (
+                group_id in group_admins and
+                sender_id in group_admins[group_id])
+        )
+
     def args(self, normalize=True):
         arg, rest = pop_arg(self.raw_args)
         while arg is not None: