Queer European MD passionate about IT
Parcourir la source

Class method `get` defined.

Davte il y a 5 ans
Parent
commit
d53051e6f3
1 fichiers modifiés avec 12 ajouts et 0 suppressions
  1. 12 0
      davtelepot/bot.py

+ 12 - 0
davtelepot/bot.py

@@ -218,6 +218,18 @@ class Bot(TelegramBot, ObjectWithDatabase):
         """Set instance path attribute."""
         self._path = path
 
+    @classmethod
+    def get(cls, token, *args, **kwargs):
+        """Given a `token`, return class instance with that token.
+
+        If no instance is found, instantiate it.
+        Positional and keyword arguments may be passed as well.
+        """
+        for bot in cls.bots:
+            if bot.token == token:
+                return bot
+        return cls(token, *args, **kwargs)
+
     @property
     def hostname(self):
         """Hostname for the webhook URL.