generated from Nemesis/Exemple
generaliser la substitution du @room à l'envoi
This commit is contained in:
parent
ef58bf339f
commit
d973b8e146
2 changed files with 139 additions and 128 deletions
|
@ -9,6 +9,7 @@ admin = ""
|
|||
liste = roll,quote,biere,stats,liste,horloge,carte,card,cristal,welcome,salut,jdr,gens,va,salon,kick
|
||||
|
||||
[MAIL]
|
||||
malt = 0
|
||||
msender = "user@domain.tld"
|
||||
mpass = "password"
|
||||
msmtp = "smtp"
|
||||
|
|
266
asmodee.py
266
asmodee.py
|
@ -12,6 +12,7 @@ import threading
|
|||
import json
|
||||
from datetime import datetime,timedelta
|
||||
import smtplib
|
||||
import os
|
||||
|
||||
from matrix_bot_api.matrix_bot_api import MatrixBotAPI
|
||||
from matrix_bot_api.mregex_handler import MRegexHandler
|
||||
|
@ -47,6 +48,7 @@ mails = {} # Liste de gens abonnés par mail au salon
|
|||
liste_mod = [] # Modules disponibles
|
||||
USERNAME = ""
|
||||
|
||||
malt = 0
|
||||
msender = ""
|
||||
mpass = ""
|
||||
msmtp = ""
|
||||
|
@ -292,8 +294,11 @@ class Parser: #Pour parser la ligne de commande
|
|||
return True
|
||||
return False
|
||||
|
||||
def msg(room,msg,content=False):
|
||||
def msg(room,msg,sender,content=False):
|
||||
try:
|
||||
lmod = modos[room.room_id]
|
||||
if (sender not in admins and sender not in lmod):
|
||||
msg = msg.replace('@room', 'tout le monde')
|
||||
if content:
|
||||
bot.client.api.send_message_event(room.room_id, 'm.room.message', msg, None, None)
|
||||
else:
|
||||
|
@ -327,7 +332,7 @@ def verifPMRoom(room, event): # Pour obtenir ou créer un salon pour les message
|
|||
# if alias in salon.aliases:
|
||||
# print("trouvé : " + cle)
|
||||
# print(salon.aliases)
|
||||
# msg(salon,"gagné")
|
||||
# msg(salon,"gagné",event['sender'])
|
||||
# return salon
|
||||
# else:
|
||||
# print(salon.aliases)
|
||||
|
@ -349,7 +354,7 @@ def verifPMRoom(room, event): # Pour obtenir ou créer un salon pour les message
|
|||
except:
|
||||
print("Impossible de creer ou joindre " + alias)
|
||||
return None
|
||||
#msg(salon,"nouvelle conversation")
|
||||
#msg(salon,"nouvelle conversation",event['sender'])
|
||||
# TODO vérifier la présence du sender dans la liste des membres de ce salon et réinviter si besoin
|
||||
try:
|
||||
salon.invite_user(event['sender'])
|
||||
|
@ -383,7 +388,7 @@ def card(room, event): # Tirer une carte du paquet sans la retirer
|
|||
modules[room.room_id, 'card'] = False
|
||||
if (modules[room.room_id, 'card']):
|
||||
reponse = cartes_base[random.randrange(0,len(cartes_base))]
|
||||
msg(room,reponse)
|
||||
msg(room,reponse,event['sender'])
|
||||
|
||||
@not_myself
|
||||
def carte(room, event): # Tirer une carte du paquet en la retirant ensuite
|
||||
|
@ -397,13 +402,13 @@ def carte(room, event): # Tirer une carte du paquet en la retirant ensuite
|
|||
args = event['content']['body'].split()
|
||||
if (len(args) > 1):
|
||||
cartes=list(cartes_base)
|
||||
msg(room,"Le paquet est melange")
|
||||
msg(room,"Le paquet est melange",event['sender'])
|
||||
else:
|
||||
if (len(cartes) < 1):
|
||||
cartes=list(cartes_base)
|
||||
msg(room,"Le paquet est melange")
|
||||
msg(room,"Le paquet est melange",event['sender'])
|
||||
i = random.randrange(0,len(cartes))
|
||||
msg(room,cartes[i])
|
||||
msg(room,cartes[i],event['sender'])
|
||||
cartes.pop(i)
|
||||
|
||||
@not_myself
|
||||
|
@ -420,51 +425,51 @@ def help_center(room,event,name,private): # Aide sur les commandes disponibles
|
|||
salon = verifPMRoom(room,event)
|
||||
if (len(args) > 0):
|
||||
if (re.search("roll", args[0])):
|
||||
msg(salon,":roll <options> <des> (+-modifs ou des)\n\n- exemple :roll vr4g3 6d6 - \#g\#r3d6 +2 x3 : lance avec les details 6d6 en relancant les des avec un resultat de 4+ et en gardant les trois meilleurs, puis en retranchant 3d6 sans relancer les 4+ et en gardant tout, enfin ajouter 2. L'operation sera executee trois fois.\n\n- v : details (verbose) du jet\n- n : no add, chaque de est traite separement\n- e : explosif, si un de fait le maximum, on le relance et on additionne\n- z : Star Zars, le premier de est explosif. Mais s'il sort un 1, on retire ce 1 et la plus grande valeur des autres des\n- f<nb> : difficulte a atteindre par de avec option n\n- g<nb> : nombre de des conserves\n- r<nb> : relance si le de a obtenu au moins ce nombre\n- m<nb> : Enleve un succes si ce nombre ou moins est atteint\n- s<nb/nb> : seuil a atteindre et niveaux de reussites\n- w<nb> : lance un wild die avec les autres.")
|
||||
msg(salon,":roll <options> <des> (+-modifs ou des)\n\n- exemple :roll vr4g3 6d6 - \#g\#r3d6 +2 x3 : lance avec les details 6d6 en relancant les des avec un resultat de 4+ et en gardant les trois meilleurs, puis en retranchant 3d6 sans relancer les 4+ et en gardant tout, enfin ajouter 2. L'operation sera executee trois fois.\n\n- v : details (verbose) du jet\n- n : no add, chaque de est traite separement\n- e : explosif, si un de fait le maximum, on le relance et on additionne\n- z : Star Zars, le premier de est explosif. Mais s'il sort un 1, on retire ce 1 et la plus grande valeur des autres des\n- f<nb> : difficulte a atteindre par de avec option n\n- g<nb> : nombre de des conserves\n- r<nb> : relance si le de a obtenu au moins ce nombre\n- m<nb> : Enleve un succes si ce nombre ou moins est atteint\n- s<nb/nb> : seuil a atteindre et niveaux de reussites\n- w<nb> : lance un wild die avec les autres.",event['sender'])
|
||||
elif (re.search("sw", args[0])):
|
||||
msg(salon,"- :sw <options> <des> : Lance les des en mode Savage Worlds\nVerbose/Noadd/Explosif/Seuil 4/Niveau de reussite 4/Wild Die d6.")
|
||||
msg(salon,"- :sw <options> <des> : Lance les des en mode Savage Worlds\nVerbose/Noadd/Explosif/Seuil 4/Niveau de reussite 4/Wild Die d6.",event['sender'])
|
||||
elif (re.search("dom", args[0])):
|
||||
msg(salon,"- :dom <options> <des> : Lance les dommages en mode Savage Worlds\nVerbose/Explosif/seuil 4/Niveau de reussite 4.")
|
||||
msg(salon,"- :dom <options> <des> : Lance les dommages en mode Savage Worlds\nVerbose/Explosif/seuil 4/Niveau de reussite 4.",event['sender'])
|
||||
elif (re.search("owod", args[0])):
|
||||
msg(salon,"- :owod <options> <des> : Lance les des en mode Ancien Monde des Tenebres\nVerbose/Noadd/Difficulte 6/Relance les 10/Les 1 enleve un succes.")
|
||||
msg(salon,"- :owod <options> <des> : Lance les des en mode Ancien Monde des Tenebres\nVerbose/Noadd/Difficulte 6/Relance les 10/Les 1 enleve un succes.",event['sender'])
|
||||
elif (re.search("wod", args[0])):
|
||||
msg(salon,"- :wod <options> <des> : Lance les des en mode Nouveau Monde des Tenebres\nVerbose/Noadd/Difficulte 8/Relance les 10.")
|
||||
msg(salon,"- :wod <options> <des> : Lance les des en mode Nouveau Monde des Tenebres\nVerbose/Noadd/Difficulte 8/Relance les 10.",event['sender'])
|
||||
elif (re.search("ars", args[0])):
|
||||
msg(salon,"- :ars <options> <des> : Lance les des en mode Ars Magicka : de de tension\nVerbose/Noadd/Sur un 1, on relance et on double.")
|
||||
msg(salon,"- :ars <options> <des> : Lance les des en mode Ars Magicka : de de tension\nVerbose/Noadd/Sur un 1, on relance et on double.",event['sender'])
|
||||
elif (re.search("des", args[0])):
|
||||
msg(salon,"- :des <options> <des> : Lance des des de desastre\nVerbose/Noadd/Difficulte 10.")
|
||||
msg(salon,"- :des <options> <des> : Lance des des de desastre\nVerbose/Noadd/Difficulte 10.",event['sender'])
|
||||
elif (re.search("star", args[0])):
|
||||
msg(salon,"- :star <options> <des> : Lance des des en mode star wars. Le premier de est explosif. Mais s'il sort un 1, on retire ce 1 et la plus grande valeur des autres des.")
|
||||
msg(salon,"- :star <options> <des> : Lance des des en mode star wars. Le premier de est explosif. Mais s'il sort un 1, on retire ce 1 et la plus grande valeur des autres des.",event['sender'])
|
||||
elif (re.search("carte", args[0])):
|
||||
msg(salon,"- !carte : Tire une carte et la retire du paquet\n- !carte m : remelange le paquet.")
|
||||
msg(salon,"- !carte : Tire une carte et la retire du paquet\n- !carte m : remelange le paquet.",event['sender'])
|
||||
elif (re.search("card", args[0])):
|
||||
msg(salon,"- !card : tire une carte sans la retirer du paquet.")
|
||||
msg(salon,"- !card : tire une carte sans la retirer du paquet.",event['sender'])
|
||||
elif (re.search("liste", args[0])):
|
||||
msg(salon,"- !liste <options/de/la/liste> [Nombre d'elements souhaites] : retourne ce nombre d'elements de la liste.")
|
||||
msg(salon,"- !liste <options/de/la/liste> [Nombre d'elements souhaites] : retourne ce nombre d'elements de la liste.",event['sender'])
|
||||
elif (re.search("horloge", args[0])):
|
||||
msg(salon,"- !horloge : Affiche les horloges\n- !horloge <Nom de l'horloge> <niveau> : Crée ou modifie une horloge en lui mettant un niveau (normalement de 0 à 6)\n- !horloge del <Nom de l'horloge> : Supprime cette horloge.")
|
||||
msg(salon,"- !horloge : Affiche les horloges\n- !horloge <Nom de l'horloge> <niveau> : Crée ou modifie une horloge en lui mettant un niveau (normalement de 0 à 6)\n- !horloge del <Nom de l'horloge> : Supprime cette horloge.",event['sender'])
|
||||
elif (re.search("last", args[0])):
|
||||
msg(salon,"- !last : Date de son dernier post\n- !last <Personne> : Date du dernier post de la personne\n")
|
||||
msg(salon,"- !last : Date de son dernier post\n- !last <Personne> : Date du dernier post de la personne\n",event['sender'])
|
||||
elif (re.search("actif", args[0])):
|
||||
msg(salon,"- !actif : Nombre de ses messages et taille moyenne de ceux ci\n- !actif <Personne> : Nombre des messages de cette personne et taille moyenne de ceux ci\n")
|
||||
msg(salon,"- !actif : Nombre de ses messages et taille moyenne de ceux ci\n- !actif <Personne> : Nombre des messages de cette personne et taille moyenne de ceux ci\n",event['sender'])
|
||||
elif (re.search("quote", args[0])):
|
||||
msg(salon,"- !quote : Affiche une citation du salon au hasard\n- !quote <Personne> : Affiche une citation d'une personne du salon au hasard\n- !quote add <Personne>:<citation> : Enregistre une citation\n- !quote list [Personne] : Affiche les citation du salon ou d'une personne du salon en message privé\n- !quote list all : Affiche toutes les citations de tous les salons en message privé\n- !quote del <id> : Supprime la citation avec l'id spécifié")
|
||||
msg(salon,"- !quote : Affiche une citation du salon au hasard\n- !quote <Personne> : Affiche une citation d'une personne du salon au hasard\n- !quote add <Personne>:<citation> : Enregistre une citation\n- !quote list [Personne] : Affiche les citation du salon ou d'une personne du salon en message privé\n- !quote list all : Affiche toutes les citations de tous les salons en message privé\n- !quote del <id> : Supprime la citation avec l'id spécifié",event['sender'])
|
||||
elif (re.search("biere", args[0])):
|
||||
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é")
|
||||
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é",event['sender'])
|
||||
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.'")
|
||||
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.'",event['sender'])
|
||||
elif (re.search("kick", args[0])):
|
||||
msg(salon,"- !kick <@mxid> [@mxid] ... : kick les users listés")
|
||||
msg(salon,"- !kick <@mxid> [@mxid] ... : kick les users listés",event['sender'])
|
||||
elif (re.search("mails", args[0]) or re.search("mail", args[0])):
|
||||
msg(salon,"- !mail add <email> : s'abonner aux messages du salon par mail.\n -!mail del <email> : se désabonner aux messages du salon par mail.")
|
||||
msg(salon,"- !mail add <email> : s'abonner aux messages du salon par mail.\n -!mail del <email> : se désabonner aux messages du salon par mail.",event['sender'])
|
||||
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.")
|
||||
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.",event['sender'])
|
||||
elif (re.search("module", args[0])):
|
||||
msg(salon,"- !module : Affiche la liste des modules actifs sur le salon ainsi que celle des modules disponibles\n- !module add <module> : Active un module sur le salon\n- !modo del <module> : Désactive un module sur le salon.")
|
||||
msg(salon,"- !module : Affiche la liste des modules actifs sur le salon ainsi que celle des modules disponibles\n- !module add <module> : Active un module sur le salon\n- !modo del <module> : Désactive un module sur le salon.",event['sender'])
|
||||
elif (re.search("cristal", args[0])):
|
||||
msg(salon,"- !cristal : Réponds à une question posée commençant par Est-ce, Combien, Pourquoi, Quand, Comment, Où et se terminant par un point d'interrogation.")
|
||||
msg(salon,"- !cristal : Réponds à une question posée commençant par Est-ce, Combien, Pourquoi, Quand, Comment, Où et se terminant par un point d'interrogation.",event['sender'])
|
||||
else:
|
||||
msg(salon,"A venir")
|
||||
msg(salon,"A venir",event['sender'])
|
||||
else:
|
||||
rid = room.room_id
|
||||
message = "Commandes disponibles:"
|
||||
|
@ -494,7 +499,7 @@ def help_center(room,event,name,private): # Aide sur les commandes disponibles
|
|||
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"
|
||||
msg(salon,message)
|
||||
msg(salon,message,event['sender'])
|
||||
|
||||
def roll(result,type,explosif,nb,f,noadd,ars,relance,mitige): # Lancement d'un dé
|
||||
# verif type et contenu params?
|
||||
|
@ -631,7 +636,7 @@ def entryPoint(room, event): # Analyse des commandes ":", point d'entrée pour l
|
|||
|
||||
if (not parser.arg.get("error",None) and not parser.eat("$",0)):
|
||||
parser.arg["noerror"] = True
|
||||
msg(room,"Je n'ai pas compris " + text)
|
||||
msg(room,"Je n'ai pas compris " + text,event['sender'])
|
||||
|
||||
|
||||
def rollOptionPoint(): # Parse des options
|
||||
|
@ -812,10 +817,10 @@ def rollPlusMoinsPoint(): # Gérer les bloc du jet séparés par les + et -, aff
|
|||
tmp = (res1 - s) // d + 1
|
||||
result += ("/" + ("0" if (tmp < 0) else str(tmp))) if (s != 0) else ""
|
||||
parser.arg["jet"] = jet
|
||||
msg(parser.room,parser.nick + " rolls " + ("e" if exp else "") + ("n" if noa else "") + ("v" if ver else "") + ("a" if ars else "") + ("s"+str(s)+"/"+str(d) if (s != 0) else "") + (" " if (exp or noa or ver or s != 0) else "") + result)
|
||||
msg(parser.room,parser.nick + " rolls " + ("e" if exp else "") + ("n" if noa else "") + ("v" if ver else "") + ("a" if ars else "") + ("s"+str(s)+"/"+str(d) if (s != 0) else "") + (" " if (exp or noa or ver or s != 0) else "") + result, "dice")
|
||||
elif (not parser.arg.get("noerror",False)):
|
||||
msg(parser.room,"match = " + parser.mtch + "\nstr = " + parser.str)
|
||||
msg(parser.room,"Rien compris. Essayez '!help' pour obtenir de l'aide.")
|
||||
msg(parser.room,"match = " + parser.mtch + "\nstr = " + parser.str, "dice")
|
||||
msg(parser.room,"Rien compris. Essayez '!help' pour obtenir de l'aide.", "dice")
|
||||
|
||||
|
||||
def rollEntityPoint(): # Parser les séparateurs de bloc + et -
|
||||
|
@ -866,7 +871,7 @@ def rollTypePoint(): # Parser le nombre de faces du dé
|
|||
|
||||
def reponses(room, phrases, content=False): # Afficher une réponse aléatoire dans la liste
|
||||
i = random.randrange(0,len(phrases))
|
||||
msg(room,phrases[i],content)
|
||||
msg(room,phrases[i],content, "reponses")
|
||||
|
||||
@not_myself
|
||||
def jdr(room, event):
|
||||
|
@ -954,9 +959,9 @@ def liste(room, event): # Afficher un élement aléatoire d'une liste fournie
|
|||
for i in range(nb):
|
||||
id = random.randrange(0,len(list))
|
||||
res.append(list.pop(id))
|
||||
msg(room,nick + " obtient :\n" + '\n'.join(res))
|
||||
msg(room,nick + " obtient :\n" + '\n'.join(res),event['sender'])
|
||||
else:
|
||||
msg(room,"Utilisation : !liste <options/de/la/liste> [nombre d elements]")
|
||||
msg(room,"Utilisation : !liste <options/de/la/liste> [nombre d elements]",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def cristal(room, event): # Affiche une réponse à une question posée
|
||||
|
@ -971,7 +976,7 @@ def cristal(room, event): # Affiche une réponse à une question posée
|
|||
args = event['content']['body'].split()
|
||||
args.pop(0)
|
||||
if (len(args) < 2 or args[len(args)-1][-1] != '?'):
|
||||
msg(room,"Utilisation : !cristal <Quelle est votre question?>")
|
||||
msg(room,"Utilisation : !cristal <Quelle est votre question?>",event['sender'])
|
||||
else:
|
||||
args[len(args)-1] = args[len(args)-1][0:-1]
|
||||
conj = args[0]
|
||||
|
@ -1038,21 +1043,21 @@ def cristal(room, event): # Affiche une réponse à une question posée
|
|||
|
||||
def aff_hor(room, hor, valeur): # affichage des horloges
|
||||
if (int(valeur) == 0):
|
||||
msg(room,hor + " : " + chr(128320) + "\n")
|
||||
msg(room,hor + " : " + chr(128320) + "\n", "horloge")
|
||||
elif (int(valeur) == 1):
|
||||
msg(room,hor + " : " + chr(128338) + "\n")
|
||||
msg(room,hor + " : " + chr(128338) + "\n", "horloge")
|
||||
elif (int(valeur) == 2):
|
||||
msg(room,hor + " : " + chr(128341) + "\n")
|
||||
msg(room,hor + " : " + chr(128341) + "\n", "horloge")
|
||||
elif (int(valeur) == 3):
|
||||
msg(room,hor + " : " + chr(128344) + "\n")
|
||||
msg(room,hor + " : " + chr(128344) + "\n", "horloge")
|
||||
elif (int(valeur) == 4):
|
||||
msg(room,hor + " : " + chr(128345) + "\n")
|
||||
msg(room,hor + " : " + chr(128345) + "\n", "horloge")
|
||||
elif (int(valeur) == 5):
|
||||
msg(room,hor + " : " + chr(128346) + "\n")
|
||||
msg(room,hor + " : " + chr(128346) + "\n", "horloge")
|
||||
elif (int(valeur) == 6):
|
||||
msg(room,hor + " : " + chr(128347) + "\n")
|
||||
msg(room,hor + " : " + chr(128347) + "\n", "horloge")
|
||||
else:
|
||||
msg(room,hor + " : " + str(valeur) + " \n")
|
||||
msg(room,hor + " : " + str(valeur) + " \n", "horloge")
|
||||
|
||||
@not_myself
|
||||
def horloge(room, event): # Gestion des horloges PBTA
|
||||
|
@ -1099,7 +1104,7 @@ def horloge(room, event): # Gestion des horloges PBTA
|
|||
args.pop(0)
|
||||
del clock[room.room_id, ' '.join(args)]
|
||||
else:
|
||||
msg(room,"Utilisation : \n- !horloge : Affiche les horloges. \n- !horloge <nom> <niveau> : Place ou crée l'horloge au niveau spécifié.\n- !horloge del <nom> : Supprime l'horloge.")
|
||||
msg(room,"Utilisation : \n- !horloge : Affiche les horloges. \n- !horloge <nom> <niveau> : Place ou crée l'horloge au niveau spécifié.\n- !horloge del <nom> : Supprime l'horloge.",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def statistiques(room,event): # Enregistrement des statistiques
|
||||
|
@ -1190,7 +1195,7 @@ def last(room,event): # Regarde la dernière fois que quelqu'un a écrit un mess
|
|||
for user,usrstats in all_usr.items():
|
||||
if ((max_sign == "+" and usrstats.date < ref_duree) or ((max_sign == "-" and usrstats.date > ref_duree))):
|
||||
reponse += "- " + usrstats.nick + "(" + user + ")" + " le " + usrstats.date.strftime("%Y-%m-%d %H:%M:%S") + "\n"
|
||||
msg(salon, reponse)
|
||||
msg(salon, reponse,event['sender'])
|
||||
elif (len(args) >= 1 and args[0] == "inactifs"):
|
||||
max_sign = "+"
|
||||
max_duree = 0
|
||||
|
@ -1211,7 +1216,7 @@ def last(room,event): # Regarde la dernière fois que quelqu'un a écrit un mess
|
|||
for user,usrstats in all_usr.items():
|
||||
if (((max_sign == "+" and usrstats.date < ref_duree) or ((max_sign == "-" and usrstats.date > ref_duree))) and usrstats.mess <= max_mess):
|
||||
reponse += "- " + usrstats.nick + "(" + user + ")" + " le " + usrstats.date.strftime("%Y-%m-%d %H:%M:%S") + "\n"
|
||||
msg(salon, reponse)
|
||||
msg(salon, reponse,event['sender'])
|
||||
else:
|
||||
if (len(args) == 0):
|
||||
pers = getNick(room,event)
|
||||
|
@ -1219,12 +1224,12 @@ def last(room,event): # Regarde la dernière fois que quelqu'un a écrit un mess
|
|||
pers=" ".join(args)
|
||||
try:
|
||||
usrstats = stats[room.room_id,pers]
|
||||
msg(room,"J'ai vu " + usrstats.nick + " poster pour la derniere fois le " + usrstats.date.strftime("%Y-%m-%d %H:%M:%S"))
|
||||
msg(room,"J'ai vu " + usrstats.nick + " poster pour la derniere fois le " + usrstats.date.strftime("%Y-%m-%d %H:%M:%S"),event['sender'])
|
||||
except:
|
||||
msg(room,pers + " : Personne non reconnue")
|
||||
msg(room,pers + " : Personne non reconnue",event['sender'])
|
||||
#for cle,valeur in stats.items():
|
||||
# if (cle[0] == room.room_id):
|
||||
# msg(room,cle[1] + "\n")
|
||||
# msg(room,cle[1] + "\n",event['sender'])
|
||||
|
||||
|
||||
@not_myself
|
||||
|
@ -1251,7 +1256,7 @@ def actif(room,event): # Stats d'activité d'une personne
|
|||
if us.user not in dupli_check:
|
||||
dupli_check.append(us.user)
|
||||
reponse = reponse + us.nick + " : " + str(us.mess) + "\n"
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
else:
|
||||
pers = ""
|
||||
if (len(args) == 0):
|
||||
|
@ -1261,9 +1266,9 @@ def actif(room,event): # Stats d'activité d'une personne
|
|||
try:
|
||||
usrstats = stats[room.room_id,pers]
|
||||
moy = "{:10.2f}".format(usrstats.char / usrstats.mess)
|
||||
msg(room,usrstats.nick + " a poste " + str(usrstats.mess) + " messages avec une moyenne de " + moy + " caracteres par message")
|
||||
msg(room,usrstats.nick + " a poste " + str(usrstats.mess) + " messages avec une moyenne de " + moy + " caracteres par message",event['sender'])
|
||||
except:
|
||||
msg(room,pers + " : Personne non reconnue\n")
|
||||
msg(room,pers + " : Personne non reconnue\n",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def nb_kap(room,event):
|
||||
|
@ -1284,15 +1289,15 @@ def nb_kap(room,event):
|
|||
try:
|
||||
usrstats = stats[room.room_id,pers]
|
||||
if (usrstats.kapoue < 10):
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE!")
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE!",event['sender'])
|
||||
elif (usrstats.kapoue < 50):
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE! Pendez le!")
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE! Pendez le!",event['sender'])
|
||||
elif (usrstats.kapoue < 150):
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE! Brûlez le vif!")
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE! Brûlez le vif!",event['sender'])
|
||||
else:
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE! Faites le manger par des fourmis! Pauvres bêtes...")
|
||||
msg(room,usrstats.nick + " a crié " + str(usrstats.kapoue) + " KAPOUE! Faites le manger par des fourmis! Pauvres bêtes...",event['sender'])
|
||||
except:
|
||||
msg(room,pers + " : Personne non reconnue\n")
|
||||
msg(room,pers + " : Personne non reconnue\n",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def quote(room,event): # Gestion des citations
|
||||
|
@ -1323,10 +1328,10 @@ def quote(room,event): # Gestion des citations
|
|||
tps = datetime.now().microsecond
|
||||
famous[nick,tps] = citation
|
||||
quotes[room.room_id] = famous
|
||||
msg(room,"Ajout de la citation de " + nick + ":" + citation)
|
||||
msg(room,"Ajout de la citation de " + nick + ":" + citation,event['sender'])
|
||||
else:
|
||||
# message d'aide
|
||||
msg(room,"!quote add <nick>:<citation>")
|
||||
msg(room,"!quote add <nick>:<citation>",event['sender'])
|
||||
elif (len(args) > 0 and args[0] == "list"):
|
||||
# liste les quotes
|
||||
args.pop(0)
|
||||
|
@ -1339,21 +1344,21 @@ def quote(room,event): # Gestion des citations
|
|||
for cle,valeur in famous.items():
|
||||
reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
if (len(reponse) > 500):
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
reponse = ""
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
elif (args[0] == "all"):
|
||||
# toutes les quotes de tous les salons
|
||||
reponse = "Les citations de tous les salons : " + "\n"
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
for rid,fame in quotes.items():
|
||||
reponse = "Voici les reponses du salon " + rid + "\n"
|
||||
for cle,valeur in fame.items():
|
||||
reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
if (len(reponse) > 500):
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
reponse = ""
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
else:
|
||||
# les quotes du pseudo spécifié
|
||||
nick = " ".join(args)
|
||||
|
@ -1361,7 +1366,7 @@ def quote(room,event): # Gestion des citations
|
|||
for cle,valeur in famous.items():
|
||||
if (cle[0] == nick):
|
||||
reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
elif (len(args) > 1 and args[0] == "del"):
|
||||
salon = verifPMRoom(room,event)
|
||||
lmod = modos[room.room_id]
|
||||
|
@ -1374,7 +1379,7 @@ def quote(room,event): # Gestion des citations
|
|||
del fame[cle[0],cle[1]]
|
||||
reponse = reponse + rid + " / " + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
break
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
elif (event['sender'] in lmod):
|
||||
id = args[1]
|
||||
reponse = "Voici la citation supprimée : \n"
|
||||
|
@ -1385,9 +1390,9 @@ def quote(room,event): # Gestion des citations
|
|||
del fame[cle[0],cle[1]]
|
||||
reponse = reponse + rid + " / " + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
break
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
else:
|
||||
msg(salon,"Vous n'êtes pas autorisés à supprimer des citations.")
|
||||
msg(salon,"Vous n'êtes pas autorisés à supprimer des citations.",event['sender'])
|
||||
elif (len(args) > 0):
|
||||
# cite une quote d'une personne precise
|
||||
nick = " ".join(args)
|
||||
|
@ -1398,7 +1403,7 @@ def quote(room,event): # Gestion des citations
|
|||
if (len(phrases) > 0 ):
|
||||
reponses(room,phrases)
|
||||
else:
|
||||
msg(room,"Je n'ai pas de citations pour " + nick)
|
||||
msg(room,"Je n'ai pas de citations pour " + nick,event['sender'])
|
||||
else:
|
||||
# cite une quote aleatoire
|
||||
phrases = []
|
||||
|
@ -1407,7 +1412,7 @@ def quote(room,event): # Gestion des citations
|
|||
if (len(phrases) > 0 ):
|
||||
reponses(room,phrases)
|
||||
else:
|
||||
msg(room,"Je n'ai pas de citations pour ce salon")
|
||||
msg(room,"Je n'ai pas de citations pour ce salon",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def salon(room,event): # Gestion des listes de salons recommandes
|
||||
|
@ -1441,7 +1446,7 @@ def salon(room,event): # Gestion des listes de salons recommandes
|
|||
desc = " ".join(args)
|
||||
famous[ref] = desc
|
||||
salons[room.room_id] = famous
|
||||
msg(room,"Ajout du salon " + ref + " : " + desc)
|
||||
msg(room,"Ajout du salon " + ref + " : " + desc,event['sender'])
|
||||
elif (len(args) > 1 and args[0] == "del"):
|
||||
salon = verifPMRoom(room,event)
|
||||
lmod = modos[room.room_id]
|
||||
|
@ -1455,7 +1460,7 @@ def salon(room,event): # Gestion des listes de salons recommandes
|
|||
del fame[cle]
|
||||
reponse = reponse + rid + " / " + cle + " : " + valeur + "\n"
|
||||
break
|
||||
msg(room,reponse)
|
||||
msg(room,reponse,event['sender'])
|
||||
elif (event['sender'] in lmod):
|
||||
id = args[1]
|
||||
reponse = "Voici le salon supprimé : \n"
|
||||
|
@ -1466,20 +1471,20 @@ def salon(room,event): # Gestion des listes de salons recommandes
|
|||
del fame[cle]
|
||||
reponse = reponse + rid + " / " + cle + " : " + valeur + "\n"
|
||||
break
|
||||
msg(room,reponse)
|
||||
msg(room,reponse,event['sender'])
|
||||
else:
|
||||
msg(salon,"Vous n'êtes pas autorisés à supprimer des salons.")
|
||||
msg(salon,"Vous n'êtes pas autorisés à supprimer des salons.",event['sender'])
|
||||
elif (len(args) > 0):
|
||||
# cite un salon precis
|
||||
ref = args[0]
|
||||
trouve = 0
|
||||
for cle,valeur in famous.items():
|
||||
if (cle == ref):
|
||||
msg(salon,cle + " : " + valeur)
|
||||
msg(salon,cle + " : " + valeur,event['sender'])
|
||||
trouve = 1
|
||||
break
|
||||
if (trouve == 0):
|
||||
msg(room,"Je n'ai pas de salons nomme " + ref)
|
||||
msg(room,"Je n'ai pas de salons nomme " + ref,event['sender'])
|
||||
else:
|
||||
# cite tous les salons
|
||||
reponse = ""
|
||||
|
@ -1491,9 +1496,9 @@ def salon(room,event): # Gestion des listes de salons recommandes
|
|||
reponse = reponse + cle + " : " + valeur + "\n"
|
||||
trouve = 1
|
||||
if (trouve == 0):
|
||||
msg(room,"Je n'ai pas de salons recommandes pour ce salon")
|
||||
msg(room,"Je n'ai pas de salons recommandes pour ce salon",event['sender'])
|
||||
else:
|
||||
msg(room,reponse)
|
||||
msg(room,reponse,event['sender'])
|
||||
|
||||
@not_myself
|
||||
def addquote(room,event): # enregistrer les citations mode reponses matrix
|
||||
|
@ -1539,7 +1544,7 @@ def addquote(room,event): # enregistrer les citations mode reponses matrix
|
|||
# enregistrement de la citation
|
||||
famous[auteur,tps] = content
|
||||
citations[room.room_id] = famous
|
||||
msg(room,"Ajout de la citation de " + auteur + ":")
|
||||
msg(room,"Ajout de la citation de " + auteur + ":",event['sender'])
|
||||
bot.client.api.send_message_event(room.room_id, 'm.room.message', content, None, None)
|
||||
|
||||
@not_myself
|
||||
|
@ -1568,7 +1573,7 @@ def showquote(room, event): # afficher les citations mode reponse matrix
|
|||
if (len(phrases) > 0 ):
|
||||
reponses(room,phrases,True)
|
||||
else:
|
||||
msg(room,"Je n'ai pas de citations pour " + nick)
|
||||
msg(room,"Je n'ai pas de citations pour " + nick,event['sender'])
|
||||
else:
|
||||
# cite une quote aleatoire
|
||||
phrases = []
|
||||
|
@ -1577,7 +1582,7 @@ def showquote(room, event): # afficher les citations mode reponse matrix
|
|||
if (len(phrases) > 0 ):
|
||||
reponses(room,phrases,True)
|
||||
else:
|
||||
msg(room,"Je n'ai pas de citations pour ce salon")
|
||||
msg(room,"Je n'ai pas de citations pour ce salon",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def biere(room,event): # Gestion des boissons
|
||||
|
@ -1629,10 +1634,10 @@ def biere(room,event): # Gestion des boissons
|
|||
tps = datetime.now().microsecond
|
||||
breuvages[nick,tps] = citation
|
||||
bieres[room.room_id] = breuvages
|
||||
msg(room,"Ajout du breuvage " + nick + ":" + citation)
|
||||
msg(room,"Ajout du breuvage " + nick + ":" + citation,event['sender'])
|
||||
else:
|
||||
# message d'aide
|
||||
msg(room,"!biere add <nick>:<citation>")
|
||||
msg(room,"!biere add <nick>:<citation>",event['sender'])
|
||||
elif (len(args) > 0 and args[0] == "list"):
|
||||
# liste les quotes
|
||||
args.pop(0)
|
||||
|
@ -1645,21 +1650,21 @@ def biere(room,event): # Gestion des boissons
|
|||
for cle,valeur in breuvages.items():
|
||||
reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
if (len(reponse) > 500):
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
reponse = ""
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
elif (args[0] == "all"):
|
||||
# tous les breuvages de tous les salons
|
||||
reponse = "Les breuvages de tous les salons : " + "\n"
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
for rid,fame in bieres.items():
|
||||
reponse = "Voici les reponses du salon " + rid + "\n"
|
||||
for cle,valeur in fame.items():
|
||||
reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
if (len(reponse) > 500):
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
reponse = ""
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
else:
|
||||
# les breuvages du pseudo spécifié
|
||||
nick = " ".join(args)
|
||||
|
@ -1667,7 +1672,7 @@ def biere(room,event): # Gestion des boissons
|
|||
for cle,valeur in breuvages.items():
|
||||
if (cle[0] == nick):
|
||||
reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
elif (len(args) > 1 and args[0] == "del"):
|
||||
salon = verifPMRoom(room,event)
|
||||
lmod = modos[room.room_id]
|
||||
|
@ -1680,7 +1685,7 @@ def biere(room,event): # Gestion des boissons
|
|||
del fame[cle[0],cle[1]]
|
||||
reponse = reponse + rid + " / " + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
break
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
elif (event['sender'] in lmod):
|
||||
id = args[1]
|
||||
reponse = "Voici le breuvage supprimé : \n"
|
||||
|
@ -1691,9 +1696,9 @@ def biere(room,event): # Gestion des boissons
|
|||
del fame[cle[0],cle[1]]
|
||||
reponse = reponse + rid + " / " + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||
break
|
||||
msg(salon,reponse)
|
||||
msg(salon,reponse,event['sender'])
|
||||
else:
|
||||
msg(salon,"Vous n'êtes pas autorisés à supprimer des breuvages.")
|
||||
msg(salon,"Vous n'êtes pas autorisés à supprimer des breuvages.",event['sender'])
|
||||
elif (len(args) > 0):
|
||||
# cite une reponse d'un breuvage precis
|
||||
nick = " ".join(args)
|
||||
|
@ -1707,7 +1712,7 @@ def biere(room,event): # Gestion des boissons
|
|||
if (len(phrases) > 0 ):
|
||||
reponses(room,phrases)
|
||||
else:
|
||||
msg(room,"Je n'ai pas de " + nick + " en stock!")
|
||||
msg(room,"Je n'ai pas de " + nick + " en stock!",event['sender'])
|
||||
else:
|
||||
# cite une réponse d'un breuvage aleatoire
|
||||
phrases = []
|
||||
|
@ -1719,7 +1724,7 @@ def biere(room,event): # Gestion des boissons
|
|||
if (len(phrases) > 0 ):
|
||||
reponses(room,phrases)
|
||||
else:
|
||||
msg(room,"Je n'ai pas de breuvages pour ce salon")
|
||||
msg(room,"Je n'ai pas de breuvages pour ce salon",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def boissons(room,event): # Gestion des alias de boissons
|
||||
|
@ -1769,10 +1774,10 @@ def accueil(room,event): # Mettre un message d'accueil
|
|||
reponse = " ".join(args)
|
||||
if (len(args) > 0):
|
||||
welcome[room.room_id] = reponse
|
||||
msg(room,"Le message d'accueil est désormais : " + reponse)
|
||||
msg(room,"Le message d'accueil est désormais : " + reponse,event['sender'])
|
||||
|
||||
else:
|
||||
msg(salon,"Vous n'êtes pas autorisés à modifier le message d'accueil.")
|
||||
msg(salon,"Vous n'êtes pas autorisés à modifier le message d'accueil.",event['sender'])
|
||||
|
||||
def bienvenue(event): # Affichage d'un message d'accueil aux nouveaux venus
|
||||
room_id = event['room_id']
|
||||
|
@ -1801,7 +1806,7 @@ def bienvenue(event): # Affichage d'un message d'accueil aux nouveaux venus
|
|||
except:
|
||||
reponse = ""
|
||||
if (membership == "join" and prev_member != "join"):
|
||||
msg(room,"Bienvenue sur " + alias + ", " + nick + ". " + reponse)
|
||||
msg(room,"Bienvenue sur " + alias + ", " + nick + ". " + reponse,event['sender'])
|
||||
|
||||
@not_myself
|
||||
def addmails(room,event): # Abonnements mail aux messages
|
||||
|
@ -1826,9 +1831,9 @@ def addmails(room,event): # Abonnements mail aux messages
|
|||
if (not mail in lmails):
|
||||
lmails.append(mail)
|
||||
mails[room.room_id] = lmails
|
||||
msg(room,mail + " recevra des mails.")
|
||||
msg(room,mail + " recevra des mails.",event['sender'])
|
||||
else:
|
||||
msg(room,mail + " reçoit déjà des mails.")
|
||||
msg(room,mail + " reçoit déjà des mails.",event['sender'])
|
||||
elif (len(args) > 1 and args[0] == "del"):
|
||||
args.pop(0)
|
||||
mail = args[0]
|
||||
|
@ -1836,13 +1841,13 @@ def addmails(room,event): # Abonnements mail aux messages
|
|||
place = lmails.index(mail)
|
||||
del lmails[place]
|
||||
mails[room.room_id] = lmails
|
||||
msg(room,mail + " ne recevra plus de mails.")
|
||||
msg(room,mail + " ne recevra plus de mails.",event['sender'])
|
||||
else:
|
||||
msg(room,mail + " ne reçoit pas de mails.")
|
||||
msg(room,mail + " ne reçoit pas de mails.",event['sender'])
|
||||
else:
|
||||
msg(room,"\n".join(lmails))
|
||||
msg(room,"\n".join(lmails),event['sender'])
|
||||
else:
|
||||
msg(salon,"Vous n'êtes pas autorisés à définir les réceptions de mails pour ce salon.")
|
||||
msg(salon,"Vous n'êtes pas autorisés à définir les réceptions de mails pour ce salon.",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def envoi_mail(room,event): # envoi des messages aux abonnés par mail
|
||||
|
@ -1858,12 +1863,15 @@ def envoi_mail(room,event): # envoi des messages aux abonnés par mail
|
|||
except:
|
||||
lmails = []
|
||||
for mail in lmails:
|
||||
serveur = smtplib.SMTP(msmtp, mport)
|
||||
serveur.starttls()
|
||||
serveur.login(msender, mpass)
|
||||
message = event['sender'] + " : " + event['content']['body']
|
||||
serveur.sendmail(msender, mail, message)
|
||||
serveur.quit()
|
||||
if (malt == 1):
|
||||
os.system('echo "' + event['content']['body'] + '" | mailx -s "' + event['sender'] + '" -r ' + msender + ' ' + mail)
|
||||
else:
|
||||
serveur = smtplib.SMTP(msmtp, mport)
|
||||
serveur.starttls()
|
||||
serveur.login(msender, mpass)
|
||||
message = event['sender'] + " : " + event['content']['body']
|
||||
serveur.sendmail(msender, mail, message)
|
||||
serveur.quit()
|
||||
|
||||
@not_myself
|
||||
def modo(room,event): # Definition d'un moderateur
|
||||
|
@ -1882,9 +1890,9 @@ def modo(room,event): # Definition d'un moderateur
|
|||
if (not candidat in lmod):
|
||||
lmod.append(candidat)
|
||||
modos[room.room_id] = lmod
|
||||
msg(room,candidat + " devient moderateur.")
|
||||
msg(room,candidat + " devient moderateur.",event['sender'])
|
||||
else:
|
||||
msg(room,candidat + " est déjà moderateur.")
|
||||
msg(room,candidat + " est déjà moderateur.",event['sender'])
|
||||
elif (len(args) > 1 and args[0] == "del"):
|
||||
args.pop(0)
|
||||
candidat = " ".join(args)
|
||||
|
@ -1892,13 +1900,13 @@ def modo(room,event): # Definition d'un moderateur
|
|||
place = lmod.index(candidat)
|
||||
del lmod[place]
|
||||
modos[room.room_id] = lmod
|
||||
msg(room,candidat + " n'est plus moderateur.")
|
||||
msg(room,candidat + " n'est plus moderateur.",event['sender'])
|
||||
else:
|
||||
msg(room,candidat + " n'est pas moderateur.")
|
||||
msg(room,candidat + " n'est pas moderateur.",event['sender'])
|
||||
else:
|
||||
msg(room,"\n".join(lmod))
|
||||
msg(room,"\n".join(lmod),event['sender'])
|
||||
else:
|
||||
msg(salon,"Vous n'êtes pas autorisés à définir les modérateurs.")
|
||||
msg(salon,"Vous n'êtes pas autorisés à définir les modérateurs.",event['sender'])
|
||||
|
||||
@not_myself
|
||||
def module(room,event): # Definition des modules d'un salon
|
||||
|
@ -1916,18 +1924,18 @@ def module(room,event): # Definition des modules d'un salon
|
|||
rmod = args[0]
|
||||
if (rmod in liste_mod):
|
||||
modules[room.room_id, rmod] = True
|
||||
msg(room,"Module : " + rmod + " activé.")
|
||||
msg(room,"Module : " + rmod + " activé.",event['sender'])
|
||||
else:
|
||||
msg(room,"Module : " + rmod + " inconnu.")
|
||||
msg(room,"Module : " + rmod + " inconnu.",event['sender'])
|
||||
#print(liste_mod)
|
||||
elif (len(args) == 2 and args[0] == "del"):
|
||||
args.pop(0)
|
||||
rmod = args[0]
|
||||
if (rmod in liste_mod):
|
||||
modules[room.room_id, rmod] = False
|
||||
msg(room,"Module : " + rmod + " désactivé.")
|
||||
msg(room,"Module : " + rmod + " désactivé.",event['sender'])
|
||||
else:
|
||||
msg(room,"Module : " + rmod + " inconnu.")
|
||||
msg(room,"Module : " + rmod + " inconnu.",event['sender'])
|
||||
else:
|
||||
# Lister les modules actifs du salon
|
||||
rmod = ""
|
||||
|
@ -1936,16 +1944,16 @@ def module(room,event): # Definition des modules d'un salon
|
|||
rmod = rmod + cle[1] + ", "
|
||||
if (len(rmod) > 1):
|
||||
rmod = rmod[:-2]
|
||||
msg(room,"Modules actuels : " + rmod)
|
||||
msg(room,"Modules actuels : " + rmod,event['sender'])
|
||||
# Lister les modules disponibles
|
||||
dmod = ""
|
||||
for val in liste_mod:
|
||||
dmod = dmod + val + ", "
|
||||
if (len(dmod) > 1):
|
||||
dmod = dmod[:-2]
|
||||
msg(room,"Modules disponibles : " + dmod)
|
||||
msg(room,"Modules disponibles : " + dmod,event['sender'])
|
||||
else:
|
||||
msg(room,"Vous n'êtes pas autorisés à définir les modules du salon.")
|
||||
msg(room,"Vous n'êtes pas autorisés à définir les modules du salon.",event['sender'])
|
||||
|
||||
|
||||
def invitations(room_id, state): # Reponse aux invitations
|
||||
|
@ -1991,10 +1999,10 @@ def kick(room, event): # kick une liste de membres
|
|||
try:
|
||||
bot.client.api.kick_user(room.room_id, args[0], reason="")
|
||||
except:
|
||||
msg(room, "Vous ne pouvez pas expulser args[0]")
|
||||
msg(room, "Vous ne pouvez pas expulser args[0]",event['sender'])
|
||||
args.pop(0)
|
||||
else:
|
||||
msg(room,"Vous n'êtes pas autorisés à kicker des membres de ce salon.")
|
||||
msg(room,"Vous n'êtes pas autorisés à kicker des membres de ce salon.",event['sender'])
|
||||
|
||||
|
||||
def main():
|
||||
|
@ -2025,11 +2033,13 @@ def main():
|
|||
|
||||
if ('MAIL' in config):
|
||||
try:
|
||||
malt = config['MAIL']['malt']
|
||||
msender = config['MAIL']['msender']
|
||||
mpass = config['MAIL']['mpass']
|
||||
msmtp = config['MAIL']['msmtp']
|
||||
mport = config['MAIL']['mport']
|
||||
except:
|
||||
malt = 0
|
||||
msender = ""
|
||||
mpass = ""
|
||||
msmtp = ""
|
||||
|
|
Loading…
Reference in a new issue