From: kaliko Date: Tue, 12 May 2020 18:24:47 +0000 (+0200) Subject: log: Add: log user jid when possible X-Git-Tag: 0.1.0~8 X-Git-Url: https://git.kaliko.me/?a=commitdiff_plain;h=55a4c77646865cd41014311e0efd86392ca4b5d5;p=sid.git log: Add: log user jid when possible --- diff --git a/sid/log.py b/sid/log.py index ba216e5..746fad2 100644 --- a/sid/log.py +++ b/sid/log.py @@ -37,18 +37,27 @@ class Log(Plugin): bot.add_event_handler("muc::%s::got_offline" % self.bot.room, self.log_offline) - def log_online(self, pres): + def _get_jid(self, pres): nick = pres['muc']['nick'] + jid = self.bot.plugin['xep_0045'].rooms[self.bot.room][nick]['jid'] + if not jid: + self.log.debug('jid not found, is bot account moderating room?') + return nick + jid = jid.split('/')[0] # strip ressource + return jid + + def log_online(self, pres): + nick = self._get_jid(pres) self.log.info('got online: %s', nick) self.presence.append((datetime.now(), 'online', nick)) def log_offline(self, pres): - nick = pres['muc']['nick'] + nick = self._get_jid(pres) self.log.info('got offline: %s', nick) self.presence.append((datetime.now(), 'offline', nick)) def log_presence(self, pres): - nick = pres['muc']['nick'] + nick = self._get_jid(pres) self.log.debug('%s: %s', pres['muc']['nick'], pres['type']) self.presence.append((datetime.now(), pres['type'], nick)) @@ -63,7 +72,7 @@ class Log(Plugin): delay = int(time()) - Log.throttle_ts if delay < 30: self.log.debug('throttling file creation') - self.reply(message, f'wait {30-delay}') + self.reply(message, f'wait {30-delay}s') return log = self._format_log() mode = {'mode': 'w', 'encoding': 'utf-8'}