]> kaliko git repositories - sid.git/commitdiff
rtbl: some cleanup
authorkaliko <kaliko@azylum.org>
Sat, 25 Mar 2023 14:07:47 +0000 (15:07 +0100)
committerkaliko <kaliko@azylum.org>
Sat, 25 Mar 2023 14:07:47 +0000 (15:07 +0100)
sid/rtbl.py

index 6b33344800fbbc0022d479d2af257171ab667c6d..424a17982f0ea8e665969dd8c9e6560eb5e61bc9 100644 (file)
@@ -52,7 +52,6 @@ class BL:
     def get_reason(self, jid: JID) -> Optional[str]:
         """Check the presence of the JID in the blocklist"""
         jidhash = jid_to_sha256(jid)
-        # Raises if item does not exist
         return self.sha256_jids[jidhash]
 
     def __len__(self):
@@ -146,9 +145,9 @@ class RTBL(Plugin):
         for jid in [pres['muc']['jid'] for pres in self.presences.values()]:
             await self.rtbl_ban(jid)
 
-    async def rtbl_ban(self, jid):
+    async def rtbl_ban(self, jid: JID):
         """Ban jid in RTBL"""
-        if not self.moderator:
+        if not self.moderator or not jid.bare:
             return
         if self.blocklist is None:
             self.log.info('Not checking %s, block list not populated yet', jid)
@@ -174,13 +173,12 @@ class RTBL(Plugin):
             else:
                 self.log.info('Got moderator permissions.')
                 self.moderator = True
+                #TODO: purge presences cache sid.MUCBot.muc_presences?
 
     async def got_online(self, pres):
         """Handler method for new MUC participants"""
         fjid = pres['muc']['jid']
-        nick = pres['muc']['nick']
-        user = fjid if fjid.full else nick
-        await self.rtbl_ban(user)
+        await self.rtbl_ban(fjid)
 
     @botcmd(name="rtbl-info")
     def rtbl_info(self, rcv, _):