generated from Nemesis/Exemple
ne pas prendre en compte ses propres messages
This commit is contained in:
parent
60f97a5533
commit
0ad9c5665e
1 changed files with 65 additions and 31 deletions
46
asmodee.py
46
asmodee.py
|
@ -42,6 +42,7 @@ admins = [] # Admins du bot
|
|||
modos = {} # Moderateurs des salons
|
||||
modules = {} # Modules activés par salon
|
||||
liste_mod = [] # Modules disponibles
|
||||
USERNAME = ""
|
||||
|
||||
# Chargement des données persistantes
|
||||
def horloge_read():
|
||||
|
@ -152,6 +153,15 @@ def signal_handler(signal, frame): # Sauvegarder les données persistantes avant
|
|||
save_obj()
|
||||
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
|
||||
def __init__(self,room,user,nick):
|
||||
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")
|
||||
return salon
|
||||
|
||||
|
||||
def getNick(room, event): # Obtenir le DisplayName à partir du mxid
|
||||
members = room.get_joined_members()
|
||||
nick = ""
|
||||
|
@ -331,6 +340,7 @@ def getNick(room, event): # Obtenir le DisplayName à partir du mxid
|
|||
nick = event['sender']
|
||||
return(nick)
|
||||
|
||||
@not_myself
|
||||
def card(room, event): # Tirer une carte du paquet sans la retirer
|
||||
global modules
|
||||
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))]
|
||||
msg(room,reponse)
|
||||
|
||||
@not_myself
|
||||
def carte(room, event): # Tirer une carte du paquet en la retirant ensuite
|
||||
global modules
|
||||
try:
|
||||
|
@ -361,8 +372,10 @@ def carte(room, event): # Tirer une carte du paquet en la retirant ensuite
|
|||
msg(room,cartes[i])
|
||||
cartes.pop(i)
|
||||
|
||||
@not_myself
|
||||
def help(room, event): # Aide en message privé
|
||||
help_center(room,event,"help",True)
|
||||
@not_myself
|
||||
def aide(room, event): # Aide dans le salon
|
||||
help_center(room,event,"aide",False)
|
||||
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))
|
||||
return (result,total,jet)
|
||||
|
||||
@not_myself
|
||||
def entryPoint(room, event): # Analyse des commandes ":", point d'entrée pour les jets de dés
|
||||
global modules
|
||||
try:
|
||||
|
@ -812,6 +826,7 @@ def reponses(room, phrases, content=False): # Afficher une réponse aléatoire d
|
|||
i = random.randrange(0,len(phrases))
|
||||
msg(room,phrases[i],content)
|
||||
|
||||
@not_myself
|
||||
def jdr(room, event):
|
||||
global modules
|
||||
try:
|
||||
|
@ -826,6 +841,7 @@ def jdr(room, event):
|
|||
phrases.append("Bon, c'est quand la prochaine partie " + nick + "?")
|
||||
reponses(room, phrases)
|
||||
|
||||
@not_myself
|
||||
def gens(room, event):
|
||||
global modules
|
||||
try:
|
||||
|
@ -854,6 +870,7 @@ def va(room, event):
|
|||
phrases.append("Attention a " + nick + ", la suite est 'not safe for depression'")
|
||||
reponses(room, phrases)
|
||||
|
||||
@not_myself
|
||||
def hi_callback(room, event):
|
||||
global modules
|
||||
try:
|
||||
|
@ -870,6 +887,7 @@ def hi_callback(room, event):
|
|||
phrases.append("Oh non, et voilà de nouveau " + nick + "...")
|
||||
reponses(room, phrases)
|
||||
|
||||
@not_myself
|
||||
def liste(room, event): # Afficher un élement aléatoire d'une liste fournie
|
||||
global modules
|
||||
try:
|
||||
|
@ -897,6 +915,7 @@ def liste(room, event): # Afficher un élement aléatoire d'une liste fournie
|
|||
else:
|
||||
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
|
||||
global modules
|
||||
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.")
|
||||
reponses(room, phrases)
|
||||
|
||||
@not_myself
|
||||
def horloge(room, event): # Gestion des horloges PBTA
|
||||
global modules
|
||||
try:
|
||||
|
@ -1017,6 +1037,7 @@ def horloge(room, event): # Gestion des horloges PBTA
|
|||
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.")
|
||||
|
||||
@not_myself
|
||||
def statistiques(room,event): # Enregistrement des statistiques
|
||||
global modules
|
||||
try:
|
||||
|
@ -1074,6 +1095,7 @@ def statistiques(room,event): # Enregistrement des statistiques
|
|||
stats[room.room_id,user] = usrstats1
|
||||
stats[room.room_id,nick] = usrstats2
|
||||
|
||||
@not_myself
|
||||
def last(room,event): # Regarde la dernière fois que quelqu'un a écrit un message
|
||||
global modules
|
||||
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):
|
||||
# msg(room,cle[1] + "\n")
|
||||
|
||||
@not_myself
|
||||
def actif(room,event): # Stats d'activité d'une personne
|
||||
global modules
|
||||
try:
|
||||
|
@ -1120,6 +1143,7 @@ def actif(room,event): # Stats d'activité d'une personne
|
|||
except:
|
||||
msg(room,pers + " : Personne non reconnue\n")
|
||||
|
||||
@not_myself
|
||||
def nb_kap(room,event):
|
||||
global modules
|
||||
try:
|
||||
|
@ -1148,6 +1172,7 @@ def nb_kap(room,event):
|
|||
except:
|
||||
msg(room,pers + " : Personne non reconnue\n")
|
||||
|
||||
@not_myself
|
||||
def quote(room,event): # Gestion des citations
|
||||
global modules
|
||||
try:
|
||||
|
@ -1262,6 +1287,7 @@ def quote(room,event): # Gestion des citations
|
|||
else:
|
||||
msg(room,"Je n'ai pas de citations pour ce salon")
|
||||
|
||||
@not_myself
|
||||
def addquote(room,event): # enregistrer les citations mode reponses matrix
|
||||
global modules
|
||||
try:
|
||||
|
@ -1275,12 +1301,14 @@ def addquote(room,event): # enregistrer les citations mode reponses matrix
|
|||
if len(json.dumps(content)) > 420:
|
||||
# Enlève la commande de la citation
|
||||
try:
|
||||
content['body'] = content['body'].replace("\naddquote", " ")
|
||||
content['body'] = content['body'].replace("\n!addquote", " ")
|
||||
content['body'] = content['body'].replace("\n!", "\n")
|
||||
except:
|
||||
print("\n\nerreur body " + json.dumps(content))
|
||||
try:
|
||||
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("<p>!addquote</p>\n", "")
|
||||
content['formatted_body'] = content['formatted_body'].replace("!addquote", "")
|
||||
content['formatted_body'] = content['formatted_body'].replace("<p>!", "<p>")
|
||||
except:
|
||||
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 + ":")
|
||||
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
|
||||
global modules
|
||||
try:
|
||||
|
@ -1342,7 +1371,7 @@ def showquote(room, event): # afficher les citations mode reponse matrix
|
|||
else:
|
||||
msg(room,"Je n'ai pas de citations pour ce salon")
|
||||
|
||||
|
||||
@not_myself
|
||||
def biere(room,event): # Gestion des boissons
|
||||
global modules
|
||||
try:
|
||||
|
@ -1476,6 +1505,7 @@ def biere(room,event): # Gestion des boissons
|
|||
else:
|
||||
msg(room,"Je n'ai pas de breuvages pour ce salon")
|
||||
|
||||
@not_myself
|
||||
def boissons(room,event): # Gestion des alias de boissons
|
||||
global modules
|
||||
try:
|
||||
|
@ -1507,6 +1537,7 @@ def boissons(room,event): # Gestion des alias de boissons
|
|||
|
||||
biere(room,event)
|
||||
|
||||
@not_myself
|
||||
def accueil(room,event): # Mettre un message d'accueil
|
||||
global modules
|
||||
try:
|
||||
|
@ -1556,6 +1587,7 @@ def bienvenue(event): # Affichage d'un message d'accueil aux nouveaux venus
|
|||
if (membership == "join" and prev_member != "join"):
|
||||
msg(room,"Bienvenue sur " + alias + ", " + nick + ". " + reponse)
|
||||
|
||||
@not_myself
|
||||
def modo(room,event): # Definition d'un moderateur
|
||||
global modos
|
||||
lmod = []
|
||||
|
@ -1590,6 +1622,7 @@ def modo(room,event): # Definition d'un moderateur
|
|||
else:
|
||||
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
|
||||
lmod = []
|
||||
try:
|
||||
|
@ -1662,6 +1695,7 @@ def invitations(room_id, state): # Reponse aux invitations
|
|||
main()
|
||||
|
||||
def main():
|
||||
global USERNAME
|
||||
config = configparser.ConfigParser()
|
||||
config.read('asmodee.ini')
|
||||
USERNAME = "" # Bot's username
|
||||
|
@ -1761,7 +1795,7 @@ def main():
|
|||
quote_handler = MCommandHandler("quote", quote)
|
||||
bot.add_handler(quote_handler)
|
||||
citations_read()
|
||||
addquote_handler = MEndHandler("addquote", addquote)
|
||||
addquote_handler = MEndHandler("!addquote", addquote)
|
||||
bot.add_handler(addquote_handler)
|
||||
showquote_handler = MCommandHandler("showquote", showquote)
|
||||
bot.add_handler(showquote_handler)
|
||||
|
|
Loading…
Reference in a new issue