X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sid%2Fsid.py;h=2d64932838b3813da553e4fa6d5280f55d527335;hb=8500ad64bdcd5e03de1936f10334ec8b49e0840e;hp=a62c7e46fd14fd7c0d61875cad45f8b650da802b;hpb=07a099b92d103e09a082c5a7887dfd62acb5fb8b;p=sid.git diff --git a/sid/sid.py b/sid/sid.py index a62c7e4..2d64932 100644 --- a/sid/sid.py +++ b/sid/sid.py @@ -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 '.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__: