X-Git-Url: http://git.kaliko.me/?a=blobdiff_plain;f=sid%2Fplugin.py;h=dd452e5aa4e16c27cfc486800c9da93288949770;hb=6c1a29c0d63ca630a36eef61a0f38baf9f7a59a8;hp=efc9a146c31f798eedb48cdb22e0d799b5a704f1;hpb=3989896273f97b95cbb26fc87021870d778e03d8;p=sid.git diff --git a/sid/plugin.py b/sid/plugin.py index efc9a14..dd452e5 100644 --- a/sid/plugin.py +++ b/sid/plugin.py @@ -1,19 +1,9 @@ # -*- coding: utf-8 -*- +# SPDX-FileCopyrightText: 2010, 2011 Anaël Verrier +# SPDX-FileCopyrightText: 2014, 2020, 2023 kaliko -# Copyright (C) 2010, 2011 Anaël Verrier -# Copyright (C) 2014, 2020 kaliko -# This program is free software: you can redistribute it and/or modify -# it under the terms of the GNU General Public License as published by -# the Free Software Foundation, version 3 only. - -# This program is distributed in the hope that it will be useful, -# but WITHOUT ANY WARRANTY; without even the implied warranty of -# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the -# GNU General Public License for more details. - -# You should have received a copy of the GNU General Public License -# along with this program. If not, see . +from slixmpp.exceptions import XMPPError from .sid import botcmd @@ -80,6 +70,19 @@ class Plugin: to = rcv['mucroom'] self.send(to, msg, mtype=rcv['type']) + async def ban(self, jid, reason): + """Coroutine to ban a jid from the room + + :param str jid: JID to ban + :param str reason: Reason + """ + room = self.bot.room + try: + await self.bot['xep_0045'].set_affiliation(room, + jid=jid, affiliation='outcast', reason=reason) + except XMPPError as error: + self.log.error(error) + def shutdown(self): """Empty method to override. Called on bot shutdown""" pass