generated from Nemesis/Exemple
debug cristal
This commit is contained in:
parent
67b5e68eab
commit
c4f8f3a34c
1 changed files with 25 additions and 7 deletions
30
asmodee.py
30
asmodee.py
|
@ -91,8 +91,7 @@ def modos_read():
|
||||||
modos = loader.load()
|
modos = loader.load()
|
||||||
except:
|
except:
|
||||||
modos = {}
|
modos = {}
|
||||||
|
def save_obj()
|
||||||
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
|
|
||||||
with open("horloge", "wb") as fichier:
|
with open("horloge", "wb") as fichier:
|
||||||
saver = pickle.Pickler(fichier)
|
saver = pickle.Pickler(fichier)
|
||||||
saver.dump(clock)
|
saver.dump(clock)
|
||||||
|
@ -111,6 +110,9 @@ def signal_handler(signal, frame): # Sauvegarder les données persistantes avant
|
||||||
with open("moderateurs", "wb") as fichier:
|
with open("moderateurs", "wb") as fichier:
|
||||||
saver = pickle.Pickler(fichier)
|
saver = pickle.Pickler(fichier)
|
||||||
saver.dump(modos)
|
saver.dump(modos)
|
||||||
|
|
||||||
|
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
|
||||||
|
save_obj()
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
class Userstats: #Pour garder des stats sur les users
|
class Userstats: #Pour garder des stats sur les users
|
||||||
|
@ -221,11 +223,11 @@ def verifPMRoom(room, event): # Pour obtenir ou créer un salon pour les message
|
||||||
try:
|
try:
|
||||||
client_id = bot.client.user_id.split("@")[1].split(":")[0]
|
client_id = bot.client.user_id.split("@")[1].split(":")[0]
|
||||||
except:
|
except:
|
||||||
client_id = "asmodee_d"
|
client_id = "asmodee"
|
||||||
try:
|
try:
|
||||||
client_host = bot.client.user_id.split("@")[1].split(":")[1]
|
client_host = bot.client.user_id.split("@")[1].split(":")[1]
|
||||||
except:
|
except:
|
||||||
client_host = "ombreport.info_d"
|
client_host = "ombreport.info"
|
||||||
alias = "#" + client_id + "_" + nick + ":" + client_host
|
alias = "#" + client_id + "_" + nick + ":" + client_host
|
||||||
salon = None
|
salon = None
|
||||||
#salons = bot.client.rooms
|
#salons = bot.client.rooms
|
||||||
|
@ -249,6 +251,10 @@ def verifPMRoom(room, event): # Pour obtenir ou créer un salon pour les message
|
||||||
salon.invite_user(event['sender'])
|
salon.invite_user(event['sender'])
|
||||||
salon.add_room_alias(alias)
|
salon.add_room_alias(alias)
|
||||||
salon.update_aliases()
|
salon.update_aliases()
|
||||||
|
#Il faudrait recharger le bot pour prendre en compte le nouveau salon dans les listener
|
||||||
|
#Mais sans interrompre la requête
|
||||||
|
#save()
|
||||||
|
#main()
|
||||||
except:
|
except:
|
||||||
print("Impossible de creer ou joindre " + alias)
|
print("Impossible de creer ou joindre " + alias)
|
||||||
return None
|
return None
|
||||||
|
@ -268,6 +274,9 @@ def getNick(room, event): # Obtenir le DisplayName à partir du mxid
|
||||||
for user in members:
|
for user in members:
|
||||||
if user.user_id == event['sender']:
|
if user.user_id == event['sender']:
|
||||||
nick = user.get_friendly_name()
|
nick = user.get_friendly_name()
|
||||||
|
break
|
||||||
|
if (len(nick) == 0):
|
||||||
|
nick = event['sender']
|
||||||
except:
|
except:
|
||||||
try:
|
try:
|
||||||
nick = [user.get_friendly_name() for user in members if user.user_id == event['sender']][0]
|
nick = [user.get_friendly_name() for user in members if user.user_id == event['sender']][0]
|
||||||
|
@ -335,10 +344,14 @@ def help_center(room,event,name,private): # Aide sur les commandes disponibles
|
||||||
salon.send_text("- !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é")
|
salon.send_text("- !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é")
|
||||||
elif (re.search("biere", args[0])):
|
elif (re.search("biere", args[0])):
|
||||||
salon.send_text("- !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é")
|
salon.send_text("- !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])):
|
||||||
|
salon.send_text("- !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("modo", args[0])):
|
||||||
|
salon.send_text("- !modo : Affiche la liste des modérateurs (ils peuvent gérer le message d'accueil, supprimer des citations ou des boissons)\n- !modo add <mxid> : Ajoute une personne comme modérateur du salon\n- !modo del <mxid> : Retire une personne des modérateurs.")
|
||||||
else:
|
else:
|
||||||
salon.send_text("A venir")
|
salon.send_text("A venir")
|
||||||
else:
|
else:
|
||||||
salon.send_text("Commandes disponibles:\n- !card\n- !carte\n- !liste <options/de/la/liste> [Nombre d'elements souhaites]\n- !horloge : gestion des horloges PBTA\n- !last : Date de dernier post\n- !actif : Nombre de message et taille moyenne de ceux ci\n- !quote : citations du salon\n- !biere : breuvages du salon\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>\n\n- Pour plus de details, tapez !" + name + " <commande>\n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix")
|
salon.send_text("Commandes disponibles:\n- !card\n- !carte\n- !liste <options/de/la/liste> [Nombre d'elements souhaites]\n- !horloge : gestion des horloges PBTA\n- !last : Date de dernier post\n- !actif : Nombre de message et taille moyenne de ceux ci\n- !quote : citations du salon\n- !biere : breuvages du salon\n- !accueil <message> : Modifie le message d'accueil\n- !modo : Affiche les modérateurs du salon\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>\n\n- Pour plus de details, tapez !" + name + " <commande>\n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix")
|
||||||
|
|
||||||
def roll(result,type,explosif,nb,f,noadd,ars,relance,mitige): # Lancement d'un dé
|
def roll(result,type,explosif,nb,f,noadd,ars,relance,mitige): # Lancement d'un dé
|
||||||
# verif type et contenu params?
|
# verif type et contenu params?
|
||||||
|
@ -771,13 +784,17 @@ def cristal(room, event):
|
||||||
args = event['content']['body'].split()
|
args = event['content']['body'].split()
|
||||||
args.pop(0)
|
args.pop(0)
|
||||||
if (len(args) < 2 or args[len(args)-1][-1] != '?'):
|
if (len(args) < 2 or args[len(args)-1][-1] != '?'):
|
||||||
room.send_text("Utilisation : !cristal <Quel est votre question?>")
|
room.send_text("Utilisation : !cristal <Quelle est votre question?>")
|
||||||
else:
|
else:
|
||||||
args[len(args)-1] = args[len(args)-1][0:-1]
|
args[len(args)-1] = args[len(args)-1][0:-1]
|
||||||
|
print(args[len(args)-1])
|
||||||
args = list(set(args).difference(set(["Dans", "Jusque", "le", "la", "les", "de", "des", "un", "une", "est", "sont", "serait", "seraient", "était", "étaient", "sera", "seront", "ont", "aurait", "auraient", "aura", "auront", "a", "à"])))
|
args = list(set(args).difference(set(["Dans", "Jusque", "le", "la", "les", "de", "des", "un", "une", "est", "sont", "serait", "seraient", "était", "étaient", "sera", "seront", "ont", "aurait", "auraient", "aura", "auront", "a", "à"])))
|
||||||
conj = args[0]
|
conj = args[0]
|
||||||
args.pop(0)
|
args.pop(0)
|
||||||
|
print(conj)
|
||||||
|
print(args)
|
||||||
cle = max(args, key=len)
|
cle = max(args, key=len)
|
||||||
|
print(cle)
|
||||||
if (conj == "Est-ce" or conj == "est-ce"):
|
if (conj == "Est-ce" or conj == "est-ce"):
|
||||||
# traitement Oui/non
|
# traitement Oui/non
|
||||||
phrases = []
|
phrases = []
|
||||||
|
@ -1311,6 +1328,7 @@ def invitations(room_id, state): # Reponse aux invitations
|
||||||
bot.client.join_room(room_id)
|
bot.client.join_room(room_id)
|
||||||
time.sleep(2)
|
time.sleep(2)
|
||||||
del bot
|
del bot
|
||||||
|
save()
|
||||||
main()
|
main()
|
||||||
except:
|
except:
|
||||||
print("Impossible de rejoindre ce salon")
|
print("Impossible de rejoindre ce salon")
|
||||||
|
|
Loading…
Reference in a new issue