generated from Nemesis/Exemple
Quote
This commit is contained in:
parent
6d3263ec18
commit
ffcd3c8029
2 changed files with 97 additions and 29 deletions
|
@ -2,4 +2,5 @@
|
||||||
username = ""
|
username = ""
|
||||||
password = ""
|
password = ""
|
||||||
server = ""
|
server = ""
|
||||||
|
admin = ""
|
||||||
|
|
||||||
|
|
73
asmodee.py
73
asmodee.py
|
@ -31,6 +31,7 @@ cartes=list(cartes_base)
|
||||||
bot = None
|
bot = None
|
||||||
clock = {}
|
clock = {}
|
||||||
stats = {}
|
stats = {}
|
||||||
|
quotes = {}
|
||||||
|
|
||||||
def horloge_read():
|
def horloge_read():
|
||||||
global clock
|
global clock
|
||||||
|
@ -50,6 +51,15 @@ def stats_read():
|
||||||
except:
|
except:
|
||||||
stats = {}
|
stats = {}
|
||||||
|
|
||||||
|
def quotes_read():
|
||||||
|
global quotes
|
||||||
|
try:
|
||||||
|
with open("quotes", "rb") as fichier:
|
||||||
|
loader = pickle.Unpickler(fichier)
|
||||||
|
quotes = loader.load()
|
||||||
|
except:
|
||||||
|
quotes = {}
|
||||||
|
|
||||||
def signal_handler(signal, frame):
|
def signal_handler(signal, frame):
|
||||||
with open("horloge", "wb") as fichier:
|
with open("horloge", "wb") as fichier:
|
||||||
saver = pickle.Pickler(fichier)
|
saver = pickle.Pickler(fichier)
|
||||||
|
@ -57,6 +67,9 @@ def signal_handler(signal, frame):
|
||||||
with open("stats", "wb") as fichier:
|
with open("stats", "wb") as fichier:
|
||||||
saver = pickle.Pickler(fichier)
|
saver = pickle.Pickler(fichier)
|
||||||
saver.dump(stats)
|
saver.dump(stats)
|
||||||
|
with open("quotes", "wb") as fichier:
|
||||||
|
saver = pickle.Pickler(fichier)
|
||||||
|
saver.dump(quotes)
|
||||||
sys.exit(0)
|
sys.exit(0)
|
||||||
|
|
||||||
class Userstats: #Pour garder des stats sur les users
|
class Userstats: #Pour garder des stats sur les users
|
||||||
|
@ -810,8 +823,9 @@ def last(room,event):
|
||||||
global stats
|
global stats
|
||||||
args = event['content']['body'].split()
|
args = event['content']['body'].split()
|
||||||
args.pop(0)
|
args.pop(0)
|
||||||
|
pers = ""
|
||||||
if (len(args) == 0):
|
if (len(args) == 0):
|
||||||
room.send_text("!last <name ou id> : Date de dernier message de la personne")
|
pers = getNick(room,event)
|
||||||
else:
|
else:
|
||||||
pers=" ".join(args)
|
pers=" ".join(args)
|
||||||
try:
|
try:
|
||||||
|
@ -827,8 +841,9 @@ def actif(room,event):
|
||||||
global stats
|
global stats
|
||||||
args = event['content']['body'].split()
|
args = event['content']['body'].split()
|
||||||
args.pop(0)
|
args.pop(0)
|
||||||
|
pers = ""
|
||||||
if (len(args) == 0):
|
if (len(args) == 0):
|
||||||
room.send_text("!actif <name ou id> : Activite de la personne")
|
pers = getNick(room,event)
|
||||||
else:
|
else:
|
||||||
pers=" ".join(args)
|
pers=" ".join(args)
|
||||||
try:
|
try:
|
||||||
|
@ -842,8 +857,9 @@ def nb_kap(room,event):
|
||||||
global stats
|
global stats
|
||||||
args = event['content']['body'].split()
|
args = event['content']['body'].split()
|
||||||
args.pop(0)
|
args.pop(0)
|
||||||
|
pers = ""
|
||||||
if (len(args) == 0):
|
if (len(args) == 0):
|
||||||
room.send_text("!nb_kap <name ou id> : nombre de kapoue de la personne")
|
pers = getNick(room,event)
|
||||||
else:
|
else:
|
||||||
pers=" ".join(args)
|
pers=" ".join(args)
|
||||||
try:
|
try:
|
||||||
|
@ -859,6 +875,52 @@ def nb_kap(room,event):
|
||||||
except:
|
except:
|
||||||
room.send_text(pers + " : Personne non reconnue\n")
|
room.send_text(pers + " : Personne non reconnue\n")
|
||||||
|
|
||||||
|
def quote(room,event):
|
||||||
|
global quotes
|
||||||
|
args = event['content']['body'].split()
|
||||||
|
args.pop(0)
|
||||||
|
famous = {}
|
||||||
|
try:
|
||||||
|
famous = quotes[room.room_id]
|
||||||
|
except:
|
||||||
|
famous = {}
|
||||||
|
|
||||||
|
if (len(args) > 3 and args[0] == "add"):
|
||||||
|
#ajoute une quote
|
||||||
|
args.pop(0)
|
||||||
|
submit = " ".join(args).split(":")
|
||||||
|
if (len(submit) > 1):
|
||||||
|
# Ajout de la citation
|
||||||
|
nick = submit[0]
|
||||||
|
submit.pop(0)
|
||||||
|
citation = ":".join(submit)
|
||||||
|
tps = datetime.now().microsecond
|
||||||
|
famous[nick,tps] = citation
|
||||||
|
quotes[room.room_id] = famous
|
||||||
|
room.send_text("Ajout de la citation de " + nick + ":" + citation)
|
||||||
|
else:
|
||||||
|
# message d'aide
|
||||||
|
room.send_text("!quote add <nick>:<citation>")
|
||||||
|
elif (len(args) > 0):
|
||||||
|
# cite une quote d'une personne precise
|
||||||
|
nick = " ".join(args)
|
||||||
|
phrases = []
|
||||||
|
for cle,valeur in famous.items():
|
||||||
|
if (cle[0] == nick):
|
||||||
|
phrases.append(cle[0] + " : " + valeur)
|
||||||
|
if (len(phrases) > 0 ):
|
||||||
|
reponses(room,phrases)
|
||||||
|
else:
|
||||||
|
room.send_text("Je n'ai pas de citations pour " + nick)
|
||||||
|
else:
|
||||||
|
# cite une quote aleatoire
|
||||||
|
for cle,valeur in famous.items():
|
||||||
|
phrases.append(cle[0] + " : " + valeur)
|
||||||
|
if (len(phrases) > 0 ):
|
||||||
|
reponses(room,phrases)
|
||||||
|
else:
|
||||||
|
room.send_text("Je n'ai pas de citations pour ce salon")
|
||||||
|
|
||||||
def invitations(room_id, state):
|
def invitations(room_id, state):
|
||||||
global bot
|
global bot
|
||||||
try:
|
try:
|
||||||
|
@ -940,6 +1002,11 @@ def main():
|
||||||
nb_kap_handler = MCommandHandler("nb_kap", nb_kap)
|
nb_kap_handler = MCommandHandler("nb_kap", nb_kap)
|
||||||
bot.add_handler(nb_kap_handler)
|
bot.add_handler(nb_kap_handler)
|
||||||
|
|
||||||
|
# quotes
|
||||||
|
quotes_read()
|
||||||
|
quote_handler = MCommandHandler("quote", quote)
|
||||||
|
bot.add_handler(quote_handler)
|
||||||
|
|
||||||
# Invitations
|
# Invitations
|
||||||
bot.client.add_invite_listener(invitations)
|
bot.client.add_invite_listener(invitations)
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue