move offline-handler to idlebot

This commit is contained in:
Thorsten S
2015-12-26 21:03:09 +01:00
parent ade3e57741
commit f24d4c4381
2 changed files with 13 additions and 12 deletions

View File

@@ -23,6 +23,8 @@ class IdleBot(ClientXMPP):
self.show = None self.show = None
self.logger = logging.getLogger(__name__) self.logger = logging.getLogger(__name__)
for room in self.rooms:
self.add_event_handler('muc::%s::got_offline' % room, self.muc_offline)
def session_start(self, _): def session_start(self, _):
self.get_roster() self.get_roster()
@@ -58,6 +60,17 @@ class IdleBot(ClientXMPP):
else: else:
return True return True
def muc_offline(self, msg_obj):
room = msg_obj.values['muc']['room']
user = msg_obj.values['muc']['nick']
if user == config.conf_get('bot_nickname'):
self.logger.warn("Left my room, rejoin")
self.plugin['xep_0045'].joinMUC(
room,
self.nick,
wait=True
)
def hangup(self): def hangup(self):
""" """
disconnect and exit disconnect and exit

View File

@@ -43,7 +43,6 @@ class UrlBot(IdleBot):
for room in self.rooms: for room in self.rooms:
self.add_event_handler('muc::%s::got_online' % room, self.muc_online) self.add_event_handler('muc::%s::got_online' % room, self.muc_online)
self.add_event_handler('muc::%s::got_offline' % room, self.muc_offline)
def muc_message(self, msg_obj): def muc_message(self, msg_obj):
""" """
@@ -107,17 +106,6 @@ class UrlBot(IdleBot):
config.conf_set('persistent_locked', False) config.conf_set('persistent_locked', False)
def muc_offline(self, msg_obj):
room = msg_obj.values['muc']['room']
user = msg_obj.values['muc']['nick']
if user == config.conf_get('bot_nickname'):
self.logger.warn("Left my room, rejoin")
self.plugin['xep_0045'].joinMUC(
room,
self.nick,
wait=True
)
# @rate_limited(10) # @rate_limited(10)
def send_reply(self, message, msg_obj=None): def send_reply(self, message, msg_obj=None):
""" """