generated from Nemesis/Exemple
welcome : ok
This commit is contained in:
parent
7e776ae498
commit
1705d754a6
1 changed files with 508 additions and 0 deletions
508
asmodee.py
508
asmodee.py
|
@ -11,6 +11,7 @@ import sys
|
||||||
import pickle
|
import pickle
|
||||||
import threading
|
import threading
|
||||||
import asyncio
|
import asyncio
|
||||||
|
import nio
|
||||||
|
|
||||||
# Var
|
# Var
|
||||||
bot = None
|
bot = None
|
||||||
|
@ -22,6 +23,11 @@ admins = [] # Admins du bot
|
||||||
modos = {} # Moderateurs des salons
|
modos = {} # Moderateurs des salons
|
||||||
modules = {} # Modules activés par salon
|
modules = {} # Modules activés par salon
|
||||||
liste_mod = [] # Modules disponibles
|
liste_mod = [] # Modules disponibles
|
||||||
|
citations = {} #addquote
|
||||||
|
bieres = {} # Boissons a offrir
|
||||||
|
salons = {} # liste de salons recommandés
|
||||||
|
welcome = {} # Messages d'accueil des salons
|
||||||
|
clock = {} # horloges pbta
|
||||||
|
|
||||||
# Connexion du bot
|
# Connexion du bot
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
|
@ -44,6 +50,52 @@ creds = botlib.Creds(SERVER, USERNAME, PASSWORD)
|
||||||
bot = botlib.Bot(creds)
|
bot = botlib.Bot(creds)
|
||||||
|
|
||||||
# Chargement des données persistantes
|
# Chargement des données persistantes
|
||||||
|
def horloge_read():
|
||||||
|
global clock
|
||||||
|
try:
|
||||||
|
with open("horloge", "rb") as fichier:
|
||||||
|
loader = pickle.Unpickler(fichier)
|
||||||
|
clock = loader.load()
|
||||||
|
except:
|
||||||
|
clock = {}
|
||||||
|
|
||||||
|
def citations_read():
|
||||||
|
global citations
|
||||||
|
try:
|
||||||
|
with open("citations", "rb") as fichier:
|
||||||
|
loader = pickle.Unpickler(fichier)
|
||||||
|
citations = loader.load()
|
||||||
|
except:
|
||||||
|
citations = {}
|
||||||
|
|
||||||
|
|
||||||
|
def bieres_read():
|
||||||
|
global bieres
|
||||||
|
try:
|
||||||
|
with open("bieres", "rb") as fichier:
|
||||||
|
loader = pickle.Unpickler(fichier)
|
||||||
|
bieres = loader.load()
|
||||||
|
except:
|
||||||
|
bieres = {}
|
||||||
|
|
||||||
|
def salons_read():
|
||||||
|
global salons
|
||||||
|
try:
|
||||||
|
with open("salons", "rb") as fichier:
|
||||||
|
loader = pickle.Unpickler(fichier)
|
||||||
|
salons = loader.load()
|
||||||
|
except:
|
||||||
|
salons = {}
|
||||||
|
|
||||||
|
def welcome_read():
|
||||||
|
global welcome
|
||||||
|
try:
|
||||||
|
with open("welcome", "rb") as fichier:
|
||||||
|
loader = pickle.Unpickler(fichier)
|
||||||
|
welcome = loader.load()
|
||||||
|
except:
|
||||||
|
welcome = {}
|
||||||
|
|
||||||
def modos_read():
|
def modos_read():
|
||||||
global modos
|
global modos
|
||||||
try:
|
try:
|
||||||
|
@ -69,6 +121,29 @@ def save_obj(room=None, event=None):
|
||||||
with open("modules", "wb") as fichier:
|
with open("modules", "wb") as fichier:
|
||||||
saver = pickle.Pickler(fichier)
|
saver = pickle.Pickler(fichier)
|
||||||
saver.dump(modules)
|
saver.dump(modules)
|
||||||
|
if ('horloge' in liste_mod):
|
||||||
|
with open("horloge", "wb") as fichier:
|
||||||
|
saver = pickle.Pickler(fichier)
|
||||||
|
saver.dump(clock)
|
||||||
|
if ('quote' in liste_mod):
|
||||||
|
#with open("quotes", "wb") as fichier:
|
||||||
|
# saver = pickle.Pickler(fichier)
|
||||||
|
# saver.dump(quotes)
|
||||||
|
with open("citations", "wb") as fichier:
|
||||||
|
saver = pickle.Pickler(fichier)
|
||||||
|
saver.dump(citations)
|
||||||
|
if ('biere' in liste_mod):
|
||||||
|
with open("bieres", "wb") as fichier:
|
||||||
|
saver = pickle.Pickler(fichier)
|
||||||
|
saver.dump(bieres)
|
||||||
|
if ('salon' in liste_mod):
|
||||||
|
with open("salons", "wb") as fichier:
|
||||||
|
saver = pickle.Pickler(fichier)
|
||||||
|
saver.dump(salons)
|
||||||
|
if ('welcome' in liste_mod):
|
||||||
|
with open("welcome", "wb") as fichier:
|
||||||
|
saver = pickle.Pickler(fichier)
|
||||||
|
saver.dump(welcome)
|
||||||
|
|
||||||
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
|
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
|
||||||
save_obj(None,None)
|
save_obj(None,None)
|
||||||
|
@ -671,7 +746,429 @@ async def liste(room, message): # Afficher un élement aléatoire d'une liste fo
|
||||||
await msg(room,nick + " obtient :\n" + '\n'.join(res),nick)
|
await msg(room,nick + " obtient :\n" + '\n'.join(res),nick)
|
||||||
else:
|
else:
|
||||||
await msg(room,"Utilisation : !liste <options/de/la/liste> [nombre d elements]",nick)
|
await msg(room,"Utilisation : !liste <options/de/la/liste> [nombre d elements]",nick)
|
||||||
|
|
||||||
|
async def aff_hor(room, hor, valeur): # affichage des horloges
|
||||||
|
if (int(valeur) == 0):
|
||||||
|
await msg(room,hor + " : " + chr(128320) + "\n", "horloge")
|
||||||
|
elif (int(valeur) == 1):
|
||||||
|
await msg(room,hor + " : " + chr(128338) + "\n", "horloge")
|
||||||
|
elif (int(valeur) == 2):
|
||||||
|
await msg(room,hor + " : " + chr(128341) + "\n", "horloge")
|
||||||
|
elif (int(valeur) == 3):
|
||||||
|
await msg(room,hor + " : " + chr(128344) + "\n", "horloge")
|
||||||
|
elif (int(valeur) == 4):
|
||||||
|
await msg(room,hor + " : " + chr(128345) + "\n", "horloge")
|
||||||
|
elif (int(valeur) == 5):
|
||||||
|
await msg(room,hor + " : " + chr(128346) + "\n", "horloge")
|
||||||
|
elif (int(valeur) == 6):
|
||||||
|
await msg(room,hor + " : " + chr(128347) + "\n", "horloge")
|
||||||
|
else:
|
||||||
|
await msg(room,hor + " : " + str(valeur) + " \n", "horloge")
|
||||||
|
|
||||||
|
async def horloge(room, message): # Gestion des horloges PBTA
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'horloge']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'horloge'] = False
|
||||||
|
if (modules[room.room_id, 'horloge']):
|
||||||
|
global clock
|
||||||
|
nick = getNick(room,message)
|
||||||
|
|
||||||
|
args = getMessage(message).split()
|
||||||
|
args.pop(0)
|
||||||
|
if (len(args) == 0):
|
||||||
|
# Liste des horloges du salon
|
||||||
|
for cle,valeur in clock.items():
|
||||||
|
if (cle[0] == room.room_id):
|
||||||
|
await aff_hor(room, cle[1], valeur)
|
||||||
|
elif (len(args) >= 2 and args[len(args)-1].isnumeric()):
|
||||||
|
# Place le niveau de l'horloge entre 0 et 6
|
||||||
|
nv = int(args[len(args)-1])
|
||||||
|
clock[room.room_id, ' '.join(args[0:-1])] = nv
|
||||||
|
elif (len(args) >= 2 and (args[len(args)-1][:1] == "+" or args[len(args)-1][:1] == "-")):
|
||||||
|
nv = 0
|
||||||
|
hor = ' '.join(args[0:-1])
|
||||||
|
if ((room.room_id, hor) in clock):
|
||||||
|
nv = clock[room.room_id, hor]
|
||||||
|
val = 0
|
||||||
|
if (args[len(args)-1][1:].isnumeric()):
|
||||||
|
val = int(args[len(args)-1][1:])
|
||||||
|
if (args[len(args)-1][:1] == "+"):
|
||||||
|
nv = nv + val
|
||||||
|
if (nv > 6):
|
||||||
|
nv = 6
|
||||||
|
else:
|
||||||
|
nv = nv - val
|
||||||
|
if (nv < 0):
|
||||||
|
nv = 0
|
||||||
|
clock[room.room_id, hor] = nv
|
||||||
|
await aff_hor(room, hor, nv)
|
||||||
|
elif (len(args) >= 2 and args[0] == "del"):
|
||||||
|
# Supprime une horloge
|
||||||
|
args.pop(0)
|
||||||
|
del clock[room.room_id, ' '.join(args)]
|
||||||
|
else:
|
||||||
|
await 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.",getUser(message))
|
||||||
|
|
||||||
|
async def reponses(room, phrases, content=False): # Afficher une réponse aléatoire dans la liste
|
||||||
|
i = random.randrange(0,len(phrases))
|
||||||
|
await msg(room,phrases[i],"reponses",content)
|
||||||
|
|
||||||
|
async def biere(room,message): # Gestion des boissons
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'biere']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'biere'] = False
|
||||||
|
power = 0
|
||||||
|
if (modules[room.room_id, 'biere']):
|
||||||
|
sender = getUser(message)
|
||||||
|
mess = getMessage(message)
|
||||||
|
lmod = modos[room.room_id]
|
||||||
|
if (sender in admins or sender in lmod):
|
||||||
|
power = 1
|
||||||
|
global bieres
|
||||||
|
args = mess.split()
|
||||||
|
args.pop(0)
|
||||||
|
breuvages = {}
|
||||||
|
give = False
|
||||||
|
elu = ""
|
||||||
|
envoyeur = getNick(message)
|
||||||
|
|
||||||
|
try:
|
||||||
|
breuvages = bieres[room.room_id]
|
||||||
|
except:
|
||||||
|
breuvages = {}
|
||||||
|
|
||||||
|
if (len(args) > 1 and args[0] == "give"):
|
||||||
|
give = True
|
||||||
|
args.pop(0)
|
||||||
|
submit = " ".join(args).split(":")
|
||||||
|
elu = submit[0]
|
||||||
|
if (power == 0):
|
||||||
|
elu = elu.replace('@room', 'tout le monde')
|
||||||
|
try:
|
||||||
|
args = submit[1].split()
|
||||||
|
except:
|
||||||
|
args = ""
|
||||||
|
if (len(args) > 2 and args[0] == "add"):
|
||||||
|
#ajoute une biere
|
||||||
|
args.pop(0)
|
||||||
|
submit = " ".join(args).split(":")
|
||||||
|
if (len(submit) > 1):
|
||||||
|
# Ajout de la citation
|
||||||
|
nick = submit[0].strip()
|
||||||
|
nick = nick.replace('@room', 'tous')
|
||||||
|
submit.pop(0)
|
||||||
|
citation = ":".join(submit)
|
||||||
|
citation = citation.replace('@room', 'tout le monde')
|
||||||
|
tps = datetime.now().microsecond
|
||||||
|
breuvages[nick,tps] = citation
|
||||||
|
bieres[room.room_id] = breuvages
|
||||||
|
await msg(room,"Ajout du breuvage " + nick + ":" + citation,event['sender'])
|
||||||
|
else:
|
||||||
|
# message d'aide
|
||||||
|
await msg(room,"!biere add <nick>:<citation>",sender)
|
||||||
|
#elif (len(args) > 0 and args[0] == "list"):
|
||||||
|
# liste les quotes
|
||||||
|
# args.pop(0)
|
||||||
|
# salon = verifPMRoom(room,event)
|
||||||
|
# if (len(args) == 0):
|
||||||
|
# Liste les breuvages du salon
|
||||||
|
# reponse = "Voici les reponses du salon " + room.room_id + "\n"
|
||||||
|
# if (len(room.aliases) > 0):
|
||||||
|
# reponse = reponse + "(alias : " + room.aliases[0] + "\n"
|
||||||
|
# for cle,valeur in breuvages.items():
|
||||||
|
# reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||||
|
# if (len(reponse) > 500):
|
||||||
|
# msg(salon,reponse,event['sender'])
|
||||||
|
# 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,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,event['sender'])
|
||||||
|
# reponse = ""
|
||||||
|
# msg(salon,reponse,event['sender'])
|
||||||
|
# else:
|
||||||
|
# # les breuvages du pseudo spécifié
|
||||||
|
# nick = " ".join(args)
|
||||||
|
# reponse = "Voici les reponses du breuvage " + nick + "\n"
|
||||||
|
# for cle,valeur in breuvages.items():
|
||||||
|
# if (cle[0] == nick):
|
||||||
|
# reponse = reponse + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||||
|
# msg(salon,reponse,event['sender'])
|
||||||
|
elif (len(args) > 1 and args[0] == "del"):
|
||||||
|
# salon = verifPMRoom(room,event)
|
||||||
|
salon = room.room_id
|
||||||
|
lmod = modos[room.room_id]
|
||||||
|
if (sender in admins):
|
||||||
|
id = args[1]
|
||||||
|
reponse = "Voici le breuvage supprimé : \n"
|
||||||
|
for rid,fame in bieres.items():
|
||||||
|
for cle,valeur in fame.items():
|
||||||
|
if (str(cle[1]) == id):
|
||||||
|
del fame[cle[0],cle[1]]
|
||||||
|
reponse = reponse + rid + " / " + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||||
|
break
|
||||||
|
await msg(salon,reponse,sender)
|
||||||
|
elif (sender in lmod):
|
||||||
|
id = args[1]
|
||||||
|
reponse = "Voici le breuvage supprimé : \n"
|
||||||
|
rid = room.room_id
|
||||||
|
fame = bieres[rid]
|
||||||
|
for cle,valeur in fame.items():
|
||||||
|
if (str(cle[1]) == id):
|
||||||
|
del fame[cle[0],cle[1]]
|
||||||
|
reponse = reponse + rid + " / " + cle[0] + " / " + str(cle[1]) + " : " + valeur + "\n"
|
||||||
|
break
|
||||||
|
await msg(salon,reponse,sender)
|
||||||
|
else:
|
||||||
|
await msg(salon,"Vous n'êtes pas autorisés à supprimer des breuvages.",sender)
|
||||||
|
elif (len(args) > 0):
|
||||||
|
# cite une reponse d'un breuvage precis
|
||||||
|
nick = " ".join(args)
|
||||||
|
phrases = []
|
||||||
|
for cle,valeur in breuvages.items():
|
||||||
|
if (cle[0] == nick):
|
||||||
|
if (give):
|
||||||
|
phrases.append(valeur + " pour " + elu + " de la part de " + envoyeur)
|
||||||
|
else:
|
||||||
|
phrases.append(valeur + " pour " + envoyeur)
|
||||||
|
if (len(phrases) > 0 ):
|
||||||
|
await reponses(room,phrases)
|
||||||
|
else:
|
||||||
|
await msg(room,"Je n'ai pas de " + nick + " en stock!",sender)
|
||||||
|
else:
|
||||||
|
# cite une réponse d'un breuvage aleatoire
|
||||||
|
phrases = []
|
||||||
|
for cle,valeur in breuvages.items():
|
||||||
|
if (give):
|
||||||
|
phrases.append(valeur + " pour " + elu + " de la part de " + envoyeur)
|
||||||
|
else:
|
||||||
|
phrases.append(valeur + " pour " + envoyeur)
|
||||||
|
if (len(phrases) > 0 ):
|
||||||
|
await reponses(room,phrases)
|
||||||
|
else:
|
||||||
|
await msg(room,"Je n'ai pas de breuvages pour ce salon",event['sender'])
|
||||||
|
|
||||||
|
async def boissons(room,message): # Gestion des alias de boissons
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'biere']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'biere'] = False
|
||||||
|
if (modules[room.room_id, 'biere']):
|
||||||
|
sender = getUser(message)
|
||||||
|
mess = getMessage(message)
|
||||||
|
boisson = ""
|
||||||
|
elu = ""
|
||||||
|
|
||||||
|
args = mess.split()
|
||||||
|
try:
|
||||||
|
boisson = args[0][1:]
|
||||||
|
except:
|
||||||
|
boisson = ""
|
||||||
|
args.pop(0)
|
||||||
|
|
||||||
|
if (len(args) > 0):
|
||||||
|
elu = " ".join(args)
|
||||||
|
|
||||||
|
if (len(elu) > 0 and len(boisson) > 0):
|
||||||
|
mess = "!biere give " + elu + ":" + boisson
|
||||||
|
elif (len(elu) > 0):
|
||||||
|
mess = "!biere give " + elu
|
||||||
|
elif (len(boisson) > 0):
|
||||||
|
mess = "!biere " + boisson
|
||||||
|
else:
|
||||||
|
mess = "!biere"
|
||||||
|
message = sender + " : " + mess
|
||||||
|
await biere(room,message)
|
||||||
|
|
||||||
|
async def salon(room,message): # Gestion des listes de salons recommandes
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'salon']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'salon'] = False
|
||||||
|
if (modules[room.room_id, 'salon']):
|
||||||
|
sender = getUser(message)
|
||||||
|
mess = getMessage(message)
|
||||||
|
global salons
|
||||||
|
args = mess.split()
|
||||||
|
args.pop(0)
|
||||||
|
famous = {}
|
||||||
|
try:
|
||||||
|
famous = salons[room.room_id]
|
||||||
|
except:
|
||||||
|
famous = {}
|
||||||
|
|
||||||
|
if (len(args) > 3 and args[0] == "add"):
|
||||||
|
#ajoute un salon recommande
|
||||||
|
ref = ""
|
||||||
|
desc = ""
|
||||||
|
args.pop(0)
|
||||||
|
if (args[0] == "desc"):
|
||||||
|
args.pop(0)
|
||||||
|
ref = "desc"
|
||||||
|
desc = " ".join(args)
|
||||||
|
else:
|
||||||
|
ref = args[0]
|
||||||
|
args.pop(0)
|
||||||
|
desc = " ".join(args)
|
||||||
|
famous[ref] = desc
|
||||||
|
salons[room.room_id] = famous
|
||||||
|
await msg(room,"Ajout du salon " + ref + " : " + desc,sender)
|
||||||
|
elif (len(args) > 1 and args[0] == "del"):
|
||||||
|
#salon = verifPMRoom(room,event)
|
||||||
|
salon = room.room_id
|
||||||
|
lmod = modos[room.room_id]
|
||||||
|
if (sender in admins):
|
||||||
|
id = args[1]
|
||||||
|
reponse = "Voici le salon supprimé : \n"
|
||||||
|
rid = room.room_id
|
||||||
|
fame = salons[rid]
|
||||||
|
for cle,valeur in fame.items():
|
||||||
|
if (str(cle) == id):
|
||||||
|
del fame[cle]
|
||||||
|
reponse = reponse + rid + " / " + cle + " : " + valeur + "\n"
|
||||||
|
break
|
||||||
|
await msg(room,reponse,sender)
|
||||||
|
elif (sender in lmod):
|
||||||
|
id = args[1]
|
||||||
|
reponse = "Voici le salon supprimé : \n"
|
||||||
|
rid = room.room_id
|
||||||
|
fame = salons[rid]
|
||||||
|
for cle,valeur in fame.items():
|
||||||
|
if (str(cle) == id):
|
||||||
|
del fame[cle]
|
||||||
|
reponse = reponse + rid + " / " + cle + " : " + valeur + "\n"
|
||||||
|
break
|
||||||
|
await msg(room,reponse,sender)
|
||||||
|
else:
|
||||||
|
await msg(salon,"Vous n'êtes pas autorisés à supprimer des salons.",sender)
|
||||||
|
elif (len(args) > 0):
|
||||||
|
# cite un salon precis
|
||||||
|
ref = args[0]
|
||||||
|
trouve = 0
|
||||||
|
for cle,valeur in famous.items():
|
||||||
|
if (cle == ref):
|
||||||
|
await msg(salon,cle + " : " + valeur,sender)
|
||||||
|
trouve = 1
|
||||||
|
break
|
||||||
|
if (trouve == 0):
|
||||||
|
await msg(room,"Je n'ai pas de salons nomme " + ref,sender)
|
||||||
|
else:
|
||||||
|
# cite tous les salons
|
||||||
|
reponse = ""
|
||||||
|
trouve = 0
|
||||||
|
if ("desc" in famous):
|
||||||
|
reponse = reponse + famous["desc"] + "\n"
|
||||||
|
for cle,valeur in famous.items():
|
||||||
|
if (cle != "desc"):
|
||||||
|
reponse = reponse + cle + " : " + valeur + "\n"
|
||||||
|
trouve = 1
|
||||||
|
if (trouve == 0):
|
||||||
|
await msg(room,"Je n'ai pas de salons recommandes pour ce salon",sender)
|
||||||
|
else:
|
||||||
|
await msg(room,reponse,sender)
|
||||||
|
|
||||||
|
async def accueil(room,message): # Mettre un message d'accueil
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'welcome']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'welcome'] = False
|
||||||
|
if (modules[room.room_id, 'welcome']):
|
||||||
|
sender = getUser(message)
|
||||||
|
mess = getMessage(message)
|
||||||
|
lmod = modos[room.room_id]
|
||||||
|
if (sender in admins or sender in lmod):
|
||||||
|
global welcome
|
||||||
|
args = mess.split()
|
||||||
|
args.pop(0)
|
||||||
|
reponse = " ".join(args)
|
||||||
|
if (len(args) > 0):
|
||||||
|
welcome[room.room_id] = reponse
|
||||||
|
await msg(room,"Le message d'accueil est désormais : " + reponse,sender)
|
||||||
|
|
||||||
|
else:
|
||||||
|
await msg(salon,"Vous n'êtes pas autorisés à modifier le message d'accueil.",sender)
|
||||||
|
|
||||||
|
async def bienvenue(room,message): # Affichage d'un message d'accueil aux nouveaux venus
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'welcome']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'welcome'] = False
|
||||||
|
if (modules[room.room_id, 'welcome']):
|
||||||
|
sender = message.sender
|
||||||
|
nick = room.user_name(message.state_key) if room.user_name(message.state_key) else message.state_key
|
||||||
|
membership = message.membership
|
||||||
|
prev_member = message.prev_membership
|
||||||
|
|
||||||
|
if room.name:
|
||||||
|
alias = room.name
|
||||||
|
elif room.canonical_alias:
|
||||||
|
alias = room.canonical_alias
|
||||||
|
elif room.names:
|
||||||
|
alias = room.names[0]
|
||||||
|
else:
|
||||||
|
alias = ""
|
||||||
|
reponse = ""
|
||||||
|
try:
|
||||||
|
reponse = welcome[room.room_id]
|
||||||
|
except:
|
||||||
|
reponse = ""
|
||||||
|
if (membership == "join" and prev_member != "join"):
|
||||||
|
await msg(room,"Bienvenue sur " + alias + ", " + nick + ". " + reponse,sender)
|
||||||
|
elif (membership == "leave" and prev_member != "leave"):
|
||||||
|
await msg(room,"Au revoir " + nick + "!",sender)
|
||||||
|
else:
|
||||||
|
print("current: " + membership + " prev: " + prev_member)
|
||||||
|
|
||||||
|
@bot.listener.on_custom_event(nio.RoomMemberEvent)
|
||||||
|
async def callBienvenue(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot)
|
||||||
|
if match.is_not_from_this_bot():
|
||||||
|
await bienvenue(room, message)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callAccueil(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, PREFIX)
|
||||||
|
if match.is_not_from_this_bot() and match.prefix() and match.command("accueil"):
|
||||||
|
await accueil(room, message)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callSalon(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, PREFIX)
|
||||||
|
if match.is_not_from_this_bot() and match.prefix() and match.command("salon"):
|
||||||
|
await salon(room, message)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callBoisson(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, "%")
|
||||||
|
if match.is_not_from_this_bot() and match.prefix():
|
||||||
|
await boissons(room, message)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callBiere(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, PREFIX)
|
||||||
|
if match.is_not_from_this_bot() and match.prefix() and match.command("biere"):
|
||||||
|
await biere(room, message)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callHor(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, PREFIX)
|
||||||
|
if match.is_not_from_this_bot() and match.prefix() and match.command("horloge"):
|
||||||
|
await horloge(room, message)
|
||||||
|
|
||||||
@bot.listener.on_message_event
|
@bot.listener.on_message_event
|
||||||
async def callListe(room, message):
|
async def callListe(room, message):
|
||||||
|
@ -736,6 +1233,17 @@ def main():
|
||||||
|
|
||||||
modules_read()
|
modules_read()
|
||||||
modos_read()
|
modos_read()
|
||||||
|
if ('horloge' in liste_mod):
|
||||||
|
horloge_read()
|
||||||
|
if ('quote' in liste_mod):
|
||||||
|
#quotes_read()
|
||||||
|
citations_read()
|
||||||
|
if ('biere' in liste_mod):
|
||||||
|
bieres_read()
|
||||||
|
if ('salon' in liste_mod):
|
||||||
|
salons_read()
|
||||||
|
if ('welcome' in liste_mod):
|
||||||
|
welcome_read()
|
||||||
|
|
||||||
if __name__ == "__main__":
|
if __name__ == "__main__":
|
||||||
main()
|
main()
|
||||||
|
|
Loading…
Reference in a new issue