Browse Source

debug cristal

master
Nemesis 6 years ago
parent
commit
c4f8f3a34c
  1. 32
      asmodee.py

32
asmodee.py

@ -91,8 +91,7 @@ def modos_read():
modos = loader.load()
except:
modos = {}
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
def save_obj()
with open("horloge", "wb") as fichier:
saver = pickle.Pickler(fichier)
saver.dump(clock)
@ -111,6 +110,9 @@ def signal_handler(signal, frame): # Sauvegarder les données persistantes avant
with open("moderateurs", "wb") as fichier:
saver = pickle.Pickler(fichier)
saver.dump(modos)
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
save_obj()
sys.exit(0)
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:
client_id = bot.client.user_id.split("@")[1].split(":")[0]
except:
client_id = "asmodee_d"
client_id = "asmodee"
try:
client_host = bot.client.user_id.split("@")[1].split(":")[1]
except:
client_host = "ombreport.info_d"
client_host = "ombreport.info"
alias = "#" + client_id + "_" + nick + ":" + client_host
salon = None
#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.add_room_alias(alias)
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:
print("Impossible de creer ou joindre " + alias)
return None
@ -267,7 +273,10 @@ def getNick(room, event): # Obtenir le DisplayName à partir du mxid
try:
for user in members:
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:
try:
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é")
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é")
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:
salon.send_text("A venir")
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é
# verif type et contenu params?
@ -771,13 +784,17 @@ def cristal(room, event):
args = event['content']['body'].split()
args.pop(0)
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:
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", "à"])))
conj = args[0]
args.pop(0)
print(conj)
print(args)
cle = max(args, key=len)
print(cle)
if (conj == "Est-ce" or conj == "est-ce"):
# traitement Oui/non
phrases = []
@ -1311,6 +1328,7 @@ def invitations(room_id, state): # Reponse aux invitations
bot.client.join_room(room_id)
time.sleep(2)
del bot
save()
main()
except:
print("Impossible de rejoindre ce salon")

Loading…
Cancel
Save