]> kaliko git repositories - sid.git/blobdiff - sid/sid.py
Improved help strings, add doc url
[sid.git] / sid / sid.py
index a62c7e46fd14fd7c0d61875cad45f8b650da802b..2d64932838b3813da553e4fa6d5280f55d527335 100644 (file)
@@ -23,7 +23,7 @@ import traceback
 
 import slixmpp
 
-from sid import __url__
+from sid import __url__, __doc__
 
 
 def botcmd(*args, **kwargs):
@@ -90,6 +90,9 @@ class MUCBot(slixmpp.ClientXMPP):
         self.add_event_handler('message', self.message)
         self.add_event_handler('got_online', self._view)
 
+        # Handles disconnection
+        self.add_event_handler('disconnected', self.disconn)
+
         # Discover bot internal command (ie. help)
         for name, value in inspect.getmembers(self):
             if inspect.ismethod(value) and \
@@ -110,6 +113,12 @@ class MUCBot(slixmpp.ClientXMPP):
         self.log.setLevel(log_level)
         self.log.debug('set logger, log level : %s', log_level)
 
+    def disconn(self, event):
+        """disconnected handler"""
+        msg = ": %s" % event if event else "‽"
+        self.log.info('Disconnected from server%s', msg)
+        self.connect()
+
     def message(self, msg):
         """Messages handler
 
@@ -201,6 +210,7 @@ class MUCBot(slixmpp.ClientXMPP):
         Automatically assigned to the "help" command."""
         help_cmd = ('Type {}help <command name>'.format(self.prefix) +
                     ' to get more info about that specific command.\n\n' +
+                    f'DOC: {__doc__}\n' +
                     f'SRC: {__url__}')
         if not args:
             if self.__doc__: