defentryPoint(room,event):# Analyse des commandes ":", point d'entrée pour les jets de dés
globalparser
text=event['content']['body']
nick=getNick(room,event)
@ -468,7 +468,7 @@ def entryPoint(room, event):
room.send_text("Je n'ai pas compris "+text)
defrollOptionPoint():
defrollOptionPoint():# Parse des options
globalparser
while(True):
if(parser.eat("[Ee]",1)):
@ -558,7 +558,7 @@ def rollOptionPoint():
else:
break
defdupli(orig):
defdupli(orig):# Duplication d'un parser
salon=orig.room
orig.room=None
nouv=copy.deepcopy(orig)
@ -567,7 +567,7 @@ def dupli(orig):
nouv.room=salon
returnnouv
defrollXPoint():
defrollXPoint():# Parser le nombre de lancers de dés identiques
globalparser
rollPlusMoinsPoint()
if(parser.eat("[xX]",1)):
@ -586,7 +586,7 @@ def rollXPoint():
parser.arg["error"]=True
defrollPlusMoinsPoint():
defrollPlusMoinsPoint():# Gérer les bloc du jet séparés par les + et -, afficher le résultat
globalparser
parser.arg["roll_sig"]=True
parser.arg["error"]=None
@ -652,7 +652,7 @@ def rollPlusMoinsPoint():
parser.room.send_text("Rien compris. Essayez '!help' pour obtenir de l'aide.")
defrollEntityPoint():
defrollEntityPoint():# Parser les séparateurs de bloc + et -
globalparser
if(parser.eat("[-+]",1)):
if(parser.mtch=="-"):
@ -661,7 +661,7 @@ def rollEntityPoint():
rollNbPoint()
defrollNbPoint():
defrollNbPoint():# Parser le nombre de dés
globalparser
parser.arg["roll_nb"]=None
if(parser.eat(r"\d+",1)):
@ -670,7 +670,7 @@ def rollNbPoint():
rollDPoint()
defrollDPoint():
defrollDPoint():# Parser le mot clé identifiant un dé
globalparser
if(parser.eat("[dD]",1)):
if(notparser.arg.get("roll_nb",False)):
@ -683,7 +683,7 @@ def rollDPoint():
parser.arg["error"]=True
defrollTypePoint():
defrollTypePoint():# Parser le nombre de faces du dé
globalparser
if(parser.space()):
parser.arg["roll_typ"]=6
@ -698,7 +698,7 @@ def rollTypePoint():
parser.arg["error"]=True
defreponses(room,phrases):
defreponses(room,phrases):# Afficher une réponse aléatoire dans la liste
i=random.randrange(0,len(phrases))
room.send_text(phrases[i])
@ -744,14 +744,7 @@ def hi_callback(room, event):
phrases.append("Oh non, et voilà de nouveau "+nick+"...")
reponses(room,phrases)
defecho_callback(room,event):
args=event['content']['body'].split()
args.pop(0)
# Echo what they said back
room.send_text(''.join(args))
defliste(room,event):
defliste(room,event):# Afficher un élement aléatoire d'une liste fournie
res=[]
nick=getNick(room,event)
@ -842,7 +835,7 @@ def cristal(room, event):
phrases.append("Tu portes quelque chose de sombre, je refuse de me laisser souiller.")
reponses(room,phrases)
defhorloge(room,event):
defhorloge(room,event):# Gestion des horloges PBTA
globalclock
nick=getNick(room,event)
@ -879,7 +872,7 @@ def horloge(room, event):
else:
room.send_text("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.")
defstatistiques(room,event):
defstatistiques(room,event):# Enregistrement des statistiques
globalstats
nick=getNick(room,event)
user=event['sender']
@ -930,7 +923,7 @@ def statistiques(room,event):
stats[room.room_id,user]=usrstats1
stats[room.room_id,nick]=usrstats2
deflast(room,event):
deflast(room,event):# Regarde la dernière fois que quelqu'un a écrit un message
globalstats
args=event['content']['body'].split()
args.pop(0)
@ -948,7 +941,7 @@ def last(room,event):
# if (cle[0] == room.room_id):
# room.send_text(cle[1] + "\n")
defactif(room,event):
defactif(room,event):# Stats d'activité d'une personne
globalstats
args=event['content']['body'].split()
args.pop(0)
@ -986,7 +979,7 @@ def nb_kap(room,event):
except:
room.send_text(pers+" : Personne non reconnue\n")
defquote(room,event):
defquote(room,event):# Gestion des citations
globalquotes
args=event['content']['body'].split()
args.pop(0)
@ -1082,7 +1075,7 @@ def quote(room,event):
else:
room.send_text("Je n'ai pas de citations pour ce salon")
defbiere(room,event):
defbiere(room,event):# Gestion des boissons
globalbieres
args=event['content']['body'].split()
args.pop(0)
@ -1197,7 +1190,7 @@ def biere(room,event):
else:
room.send_text("Je n'ai pas de breuvages pour ce salon")
defboissons(room,event):
defboissons(room,event):# Gestion des alias de boissons
boisson=""
elu=""
@ -1222,7 +1215,7 @@ def boissons(room,event):
biere(room,event)
defaccueil(room,event):
defaccueil(room,event):# Mettre un message d'accueil
if(event['sender']inadmins):
globalwelcome
args=event['content']['body'].split()
@ -1235,7 +1228,7 @@ def accueil(room,event):
else:
salon.send_text("Vous n'êtes pas autorisés à modifier le message d'accueil.")
defbienvenue(event):
defbienvenue(event):# Affichage d'un message d'accueil aux nouveaux venus
room_id=event['room_id']
room=bot.client.rooms[room_id]
membership=event['content']['membership']
@ -1249,7 +1242,37 @@ def bienvenue(event):
if(membership=="join"):
room.send_text("Bienvenue sur "+alias+", "+nick+". "+msg)
definvitations(room_id,state):
defmodo(room,event):# Definition d'un moderateur
if(event['sender']inadmins):
globalmodos
lmod=modos[room.room_id]
args=event['content']['body'].split()
args.pop(0)
if(len(args)>1andargs[0]=="add"):
args.pop(0)
candidat="".join(args)
if(notcandidatinlmod):
lmod.append(candidat)
modos[room.room_id]=lmod
room.send_text(candidat+" devient moderateur.")
else:
room.send_text(candidat+" est déjà moderateur.")
elif(len(args)>1andargs[0]=="del"):
args.pop(0)
candidat="".join(args)
if(candidatinlmod):
place=index(candidat,lmod)
dellmod[place]
modos[room.room_id]=lmod
room.send_text(candidat+" n'est plus moderateur.")
else:
room.send_text(candidat+" n'est pas moderateur.")
else:
room.send_text(lmod)
else:
salon.send_text("Vous n'êtes pas autorisés à définir les modérateurs.")
definvitations(room_id,state):# Reponse aux invitations