Browse Source

Fonction kick

master
nemesis 4 years ago
parent
commit
a20153492a
  1. 33
      asmodee.py

33
asmodee.py

@ -433,6 +433,8 @@ def help_center(room,event,name,private): # Aide sur les commandes disponibles
msg(salon,"- !biere : Fournit une boisson du salon au hasard\n- !biere <Nom de breuvage> : Fournit une boisson spécifique du salon\n- !biere give <Personne>[:Nom du Breuvage] : Offre une boisson (spécifique en option) à la personne spécifiée\n- !biere add <Nom du breuvage>:<Phrase> : Enregistre une phrase pour ce breuvage\n- !biere list [Nom de Breuvage] : Affiche les phrases des breuvages du salon ou celles d'un breuvage spécifique du salon en message privé\n- !biere list all : Affiche toutes les citations de tous breuvages de tous les salons en message privé\n- !biere del <id> : Supprime la phrase avec l'id spécifié")
elif (re.search("accueil", args[0])):
msg(salon,"- !accueil <message> : Modifie le message d'accueil avec message. Il sera affiché à tout nouvel arrivant précédé de la mention 'Bienvenue sur le salon XXX, YYY.'")
elif (re.search("kick", args[0])):
msg(salon,"- !kick <@mxid> [@mxid] ... : kick les users listés")
elif (re.search("modo", args[0])):
msg(salon,"- !modo : Affiche la liste des modérateurs (ils peuvent gérer le message d'accueil, supprimer des citations ou des boissons, ajouter/retirer des modules, ajouter/retirer des modérateurs)\n- !modo add <mxid> : Ajoute une personne comme modérateur du salon\n- !modo del <mxid> : Retire une personne des modérateurs.")
elif (re.search("module", args[0])):
@ -463,6 +465,8 @@ def help_center(room,event,name,private): # Aide sur les commandes disponibles
message += "\n- !cristal : Posez une question à la boule de cristal"
if (cle[0] == rid and cle[1] == "welcome" and valeur):
message += "\n- !accueil <message> : Modifie le message d'accueil"
if (cle[0] == rid and cle[1] == "kick" and valeur):
message += "\n- !kick <@mxid> [@mxid] ... : kick les users listés"
if (cle[0] == rid and cle[1] == "roll" and valeur):
message += "\n- :roll <options> <des>\n- :sw <options> <des>\n- :dom <options> <des>\n- :wod <options> <des>\n- :owod <options> <des>\n- :ars <options> <des>\n- :des <options> <des>\n- :star <options> <des>"
message += "\n- !modo : Gère les modérateurs du salon\n- !module : Gère les modules actifs sur le salon\n\n- Pour plus de details, tapez !" + name + " <commande>\n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix"
@ -1873,6 +1877,28 @@ def invitations(room_id, state): # Reponse aux invitations
save_obj()
main()
def kick(room, event): # kick une liste de membres
global modules
try:
rmod = modules[room.room_id, 'biere']
except:
modules[room.room_id, 'biere'] = False
if (modules[room.room_id, 'biere']):
lmod = []
try:
lmod = modos[room.room_id]
except:
lmod = []
if (event['sender'] in admins or event['sender'] in lmod or event['sender'] == bot.client.user_id):
args = event['content']['body'].split()
args.pop(0)
while (len(args) > 0):
bot.client.api.kick_user(room.room_id, args[0], reason="")
args.pop(0)
else:
msg(room,"Vous n'êtes pas autorisés à kicker des membres de ce salon.")
def main():
global USERNAME
config = configparser.ConfigParser()
@ -1880,7 +1906,7 @@ def main():
USERNAME = "" # Bot's username
PASSWORD = "" # Bot's password
SERVER = "" # Matrix server URL
mods = ["roll", "quote", "biere", "stats", "liste", "horloge", "carte", "card", "cristal", "welcome", "salut", "jdr", "gens", "va", "salon"]
mods = ["roll", "quote", "biere", "stats", "liste", "horloge", "carte", "card", "cristal", "welcome", "salut", "jdr", "gens", "va", "salon", "kick"]
global admins
if ('AUTH' in config):
USERNAME = config['AUTH']['username'] # Bot's username
@ -2000,6 +2026,11 @@ def main():
bot.add_handler(welcome_handler)
bot.client.add_listener(bienvenue, event_type="m.room.member")
# Kick
if ('kick' in liste_mod):
kick_handler = MCommandHandler("kick", kick)
bot.add_handler(kick_handler)
# Definition des moderateurs
modos_read()
modos_handler = MCommandHandler("modo", modo)

Loading…
Cancel
Save