# -*- coding: utf-8 -*-
-# SPDX-FileCopyrightText: 2014, 2020, 2023 kaliko <kaliko@azylum.org>
-# SPDX-FileCopyrightText: 2007-2012 Thomas Perl <thp.io/about>
+# SPDX-FileCopyrightText: 2023 kaliko <kaliko@azylum.org>
# SPDX-License-Identifier: GPL-3.0-or-later
"""A Real Time Block List plugin"""
class BL:
- """Plain object to keep track of block list items"""
+ """Plain object to keep track of block list items.
+ Only used in RTBL plugin."""
def __init__(self, initial_bl):
self.sha256_jids: Dict[str, Optional[str]] = {}
class RTBL(Plugin):
- """Spam guard for MUC
+ """Spam guard plugin for MUC.
"""
+ #: Pubsub server
pubsub_server = 'example.org'
+ #: Pubsub server node to subscribe to
node = 'muc_bans_sha256'
def __init__(self, bot):
await self.ban(jid.bare, reason=reason)
def got_offline(self, pres):
- """Handler method for laving MUC participants"""
+ """Handler method for leaving MUC participants"""
fjid = pres['muc']['jid']
user = fjid if fjid.full else pres['muc']['nick']
try: