ne pas prendre en compte ses propres messages

This commit is contained in:
Nemesis 2018-12-06 23:07:49 +01:00
parent 60f97a5533
commit 0ad9c5665e

View file

@ -42,6 +42,7 @@ 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
USERNAME = ""
# Chargement des données persistantes # Chargement des données persistantes
def horloge_read(): def horloge_read():
@ -152,6 +153,15 @@ def signal_handler(signal, frame): # Sauvegarder les données persistantes avant
save_obj() save_obj()
sys.exit(0) sys.exit(0)
def not_myself(f):
def handler(room, event):
if event['sender'] == USERNAME:
return
f(room, event)
return handler
class Userstats: #Pour garder des stats sur les users class Userstats: #Pour garder des stats sur les users
def __init__(self,room,user,nick): def __init__(self,room,user,nick):
self.room = room self.room = room
@ -313,7 +323,6 @@ def verifPMRoom(room, event): # Pour obtenir ou créer un salon pour les message
print("il etait deja dedans, c'est sale") print("il etait deja dedans, c'est sale")
return salon return salon
def getNick(room, event): # Obtenir le DisplayName à partir du mxid def getNick(room, event): # Obtenir le DisplayName à partir du mxid
members = room.get_joined_members() members = room.get_joined_members()
nick = "" nick = ""
@ -331,6 +340,7 @@ def getNick(room, event): # Obtenir le DisplayName à partir du mxid
nick = event['sender'] nick = event['sender']
return(nick) return(nick)
@not_myself
def card(room, event): # Tirer une carte du paquet sans la retirer def card(room, event): # Tirer une carte du paquet sans la retirer
global modules global modules
try: try:
@ -341,6 +351,7 @@ def card(room, event): # Tirer une carte du paquet sans la retirer
reponse = cartes_base[random.randrange(0,len(cartes_base))] reponse = cartes_base[random.randrange(0,len(cartes_base))]
msg(room,reponse) msg(room,reponse)
@not_myself
def carte(room, event): # Tirer une carte du paquet en la retirant ensuite def carte(room, event): # Tirer une carte du paquet en la retirant ensuite
global modules global modules
try: try:
@ -361,8 +372,10 @@ def carte(room, event): # Tirer une carte du paquet en la retirant ensuite
msg(room,cartes[i]) msg(room,cartes[i])
cartes.pop(i) cartes.pop(i)
@not_myself
def help(room, event): # Aide en message privé def help(room, event): # Aide en message privé
help_center(room,event,"help",True) help_center(room,event,"help",True)
@not_myself
def aide(room, event): # Aide dans le salon def aide(room, event): # Aide dans le salon
help_center(room,event,"aide",False) help_center(room,event,"aide",False)
def help_center(room,event,name,private): # Aide sur les commandes disponibles def help_center(room,event,name,private): # Aide sur les commandes disponibles
@ -530,6 +543,7 @@ def rolls(result,jet,type,nb,explosif,noadd,wild,f,g,ars,relance,mitige,z): # La
#print("fin rolls : " + str(result) + "|" + str(total) + "|" + str(jet)) #print("fin rolls : " + str(result) + "|" + str(total) + "|" + str(jet))
return (result,total,jet) return (result,total,jet)
@not_myself
def entryPoint(room, event): # Analyse des commandes ":", point d'entrée pour les jets de dés def entryPoint(room, event): # Analyse des commandes ":", point d'entrée pour les jets de dés
global modules global modules
try: try:
@ -812,6 +826,7 @@ def reponses(room, phrases, content=False): # Afficher une réponse aléatoire d
i = random.randrange(0,len(phrases)) i = random.randrange(0,len(phrases))
msg(room,phrases[i],content) msg(room,phrases[i],content)
@not_myself
def jdr(room, event): def jdr(room, event):
global modules global modules
try: try:
@ -826,6 +841,7 @@ def jdr(room, event):
phrases.append("Bon, c'est quand la prochaine partie " + nick + "?") phrases.append("Bon, c'est quand la prochaine partie " + nick + "?")
reponses(room, phrases) reponses(room, phrases)
@not_myself
def gens(room, event): def gens(room, event):
global modules global modules
try: try:
@ -854,6 +870,7 @@ def va(room, event):
phrases.append("Attention a " + nick + ", la suite est 'not safe for depression'") phrases.append("Attention a " + nick + ", la suite est 'not safe for depression'")
reponses(room, phrases) reponses(room, phrases)
@not_myself
def hi_callback(room, event): def hi_callback(room, event):
global modules global modules
try: try:
@ -870,6 +887,7 @@ def hi_callback(room, event):
phrases.append("Oh non, et voilà de nouveau " + nick + "...") phrases.append("Oh non, et voilà de nouveau " + nick + "...")
reponses(room, phrases) reponses(room, phrases)
@not_myself
def liste(room, event): # Afficher un élement aléatoire d'une liste fournie def liste(room, event): # Afficher un élement aléatoire d'une liste fournie
global modules global modules
try: try:
@ -897,6 +915,7 @@ def liste(room, event): # Afficher un élement aléatoire d'une liste fournie
else: else:
msg(room,"Utilisation : !liste <options/de/la/liste> [nombre d elements]") msg(room,"Utilisation : !liste <options/de/la/liste> [nombre d elements]")
@not_myself
def cristal(room, event): # Affiche une réponse à une question posée def cristal(room, event): # Affiche une réponse à une question posée
global modules global modules
try: try:
@ -974,6 +993,7 @@ def cristal(room, event): # Affiche une réponse à une question posée
phrases.append("Tu portes quelque chose de sombre, je refuse de me laisser souiller.") phrases.append("Tu portes quelque chose de sombre, je refuse de me laisser souiller.")
reponses(room, phrases) reponses(room, phrases)
@not_myself
def horloge(room, event): # Gestion des horloges PBTA def horloge(room, event): # Gestion des horloges PBTA
global modules global modules
try: try:
@ -1017,6 +1037,7 @@ def horloge(room, event): # Gestion des horloges PBTA
else: 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.")
@not_myself
def statistiques(room,event): # Enregistrement des statistiques def statistiques(room,event): # Enregistrement des statistiques
global modules global modules
try: try:
@ -1074,6 +1095,7 @@ def statistiques(room,event): # Enregistrement des statistiques
stats[room.room_id,user] = usrstats1 stats[room.room_id,user] = usrstats1
stats[room.room_id,nick] = usrstats2 stats[room.room_id,nick] = usrstats2
@not_myself
def last(room,event): # Regarde la dernière fois que quelqu'un a écrit un message def last(room,event): # Regarde la dernière fois que quelqu'un a écrit un message
global modules global modules
try: try:
@ -1098,6 +1120,7 @@ def last(room,event): # Regarde la dernière fois que quelqu'un a écrit un mess
# if (cle[0] == room.room_id): # if (cle[0] == room.room_id):
# msg(room,cle[1] + "\n") # msg(room,cle[1] + "\n")
@not_myself
def actif(room,event): # Stats d'activité d'une personne def actif(room,event): # Stats d'activité d'une personne
global modules global modules
try: try:
@ -1120,6 +1143,7 @@ def actif(room,event): # Stats d'activité d'une personne
except: except:
msg(room,pers + " : Personne non reconnue\n") msg(room,pers + " : Personne non reconnue\n")
@not_myself
def nb_kap(room,event): def nb_kap(room,event):
global modules global modules
try: try:
@ -1148,6 +1172,7 @@ def nb_kap(room,event):
except: except:
msg(room,pers + " : Personne non reconnue\n") msg(room,pers + " : Personne non reconnue\n")
@not_myself
def quote(room,event): # Gestion des citations def quote(room,event): # Gestion des citations
global modules global modules
try: try:
@ -1262,6 +1287,7 @@ def quote(room,event): # Gestion des citations
else: else:
msg(room,"Je n'ai pas de citations pour ce salon") msg(room,"Je n'ai pas de citations pour ce salon")
@not_myself
def addquote(room,event): # enregistrer les citations mode reponses matrix def addquote(room,event): # enregistrer les citations mode reponses matrix
global modules global modules
try: try:
@ -1275,12 +1301,14 @@ def addquote(room,event): # enregistrer les citations mode reponses matrix
if len(json.dumps(content)) > 420: if len(json.dumps(content)) > 420:
# Enlève la commande de la citation # Enlève la commande de la citation
try: try:
content['body'] = content['body'].replace("\naddquote", " ") content['body'] = content['body'].replace("\n!addquote", " ")
content['body'] = content['body'].replace("\n!", "\n")
except: except:
print("\n\nerreur body " + json.dumps(content)) print("\n\nerreur body " + json.dumps(content))
try: try:
content['formatted_body'] = content['formatted_body'].replace("<p>addquote</p>\n", "") content['formatted_body'] = content['formatted_body'].replace("<p>!addquote</p>\n", "")
content['formatted_body'] = content['formatted_body'].replace("addquote", "") content['formatted_body'] = content['formatted_body'].replace("!addquote", "")
content['formatted_body'] = content['formatted_body'].replace("<p>!", "<p>")
except: except:
print("\n\nerreur formatted_body " + json.dumps(content)) print("\n\nerreur formatted_body " + json.dumps(content))
@ -1306,6 +1334,7 @@ def addquote(room,event): # enregistrer les citations mode reponses matrix
msg(room,"Ajout de la citation de " + auteur + ":") msg(room,"Ajout de la citation de " + auteur + ":")
bot.client.api.send_message_event(room.room_id, 'm.room.message', content, None, None) bot.client.api.send_message_event(room.room_id, 'm.room.message', content, None, None)
@not_myself
def showquote(room, event): # afficher les citations mode reponse matrix def showquote(room, event): # afficher les citations mode reponse matrix
global modules global modules
try: try:
@ -1342,7 +1371,7 @@ def showquote(room, event): # afficher les citations mode reponse matrix
else: else:
msg(room,"Je n'ai pas de citations pour ce salon") msg(room,"Je n'ai pas de citations pour ce salon")
@not_myself
def biere(room,event): # Gestion des boissons def biere(room,event): # Gestion des boissons
global modules global modules
try: try:
@ -1476,6 +1505,7 @@ def biere(room,event): # Gestion des boissons
else: else:
msg(room,"Je n'ai pas de breuvages pour ce salon") msg(room,"Je n'ai pas de breuvages pour ce salon")
@not_myself
def boissons(room,event): # Gestion des alias de boissons def boissons(room,event): # Gestion des alias de boissons
global modules global modules
try: try:
@ -1507,6 +1537,7 @@ def boissons(room,event): # Gestion des alias de boissons
biere(room,event) biere(room,event)
@not_myself
def accueil(room,event): # Mettre un message d'accueil def accueil(room,event): # Mettre un message d'accueil
global modules global modules
try: try:
@ -1556,6 +1587,7 @@ def bienvenue(event): # Affichage d'un message d'accueil aux nouveaux venus
if (membership == "join" and prev_member != "join"): if (membership == "join" and prev_member != "join"):
msg(room,"Bienvenue sur " + alias + ", " + nick + ". " + reponse) msg(room,"Bienvenue sur " + alias + ", " + nick + ". " + reponse)
@not_myself
def modo(room,event): # Definition d'un moderateur def modo(room,event): # Definition d'un moderateur
global modos global modos
lmod = [] lmod = []
@ -1590,6 +1622,7 @@ def modo(room,event): # Definition d'un moderateur
else: 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.")
@not_myself
def module(room,event): # Definition des modules d'un salon def module(room,event): # Definition des modules d'un salon
lmod = [] lmod = []
try: try:
@ -1662,6 +1695,7 @@ def invitations(room_id, state): # Reponse aux invitations
main() main()
def main(): def main():
global USERNAME
config = configparser.ConfigParser() config = configparser.ConfigParser()
config.read('asmodee.ini') config.read('asmodee.ini')
USERNAME = "" # Bot's username USERNAME = "" # Bot's username
@ -1761,7 +1795,7 @@ def main():
quote_handler = MCommandHandler("quote", quote) quote_handler = MCommandHandler("quote", quote)
bot.add_handler(quote_handler) bot.add_handler(quote_handler)
citations_read() citations_read()
addquote_handler = MEndHandler("addquote", addquote) addquote_handler = MEndHandler("!addquote", addquote)
bot.add_handler(addquote_handler) bot.add_handler(addquote_handler)
showquote_handler = MCommandHandler("showquote", showquote) showquote_handler = MCommandHandler("showquote", showquote)
bot.add_handler(showquote_handler) bot.add_handler(showquote_handler)