generated from Nemesis/Exemple
card / carte / save
This commit is contained in:
parent
ebcc630611
commit
f4bf367737
1 changed files with 77 additions and 2 deletions
79
asmodee.py
79
asmodee.py
|
@ -16,7 +16,6 @@ import nio
|
||||||
from datetime import datetime,timedelta
|
from datetime import datetime,timedelta
|
||||||
import requests
|
import requests
|
||||||
import html2text
|
import html2text
|
||||||
import json
|
|
||||||
|
|
||||||
# Var
|
# Var
|
||||||
bot = None
|
bot = None
|
||||||
|
@ -34,6 +33,17 @@ bieres = {} # Boissons a offrir
|
||||||
salons = {} # liste de salons recommandés
|
salons = {} # liste de salons recommandés
|
||||||
welcome = {} # Messages d'accueil des salons
|
welcome = {} # Messages d'accueil des salons
|
||||||
clock = {} # horloges pbta
|
clock = {} # horloges pbta
|
||||||
|
paquets = {} # paquets de cartes des salons
|
||||||
|
|
||||||
|
cartes_base = ["As de carreau", "2 de carreau", "3 de carreau", "4 de carreau", "5 de carreau", "6 de carreau", \
|
||||||
|
"7 de carreau", "8 de carreau", "9 de carreau", "10 de carreau", "Valet de carreau", "Dame de carreau", \
|
||||||
|
"Roi de carreau", "As de coeur", "2 de coeur", "3 de coeur", "4 de coeur", "5 de coeur", "6 de coeur", \
|
||||||
|
"7 de coeur", "8 de coeur", "9 de coeur", "10 de coeur", "Valet de coeur", "Dame de coeur", "Roi de coeur", \
|
||||||
|
"As de pique", "2 de pique", "3 de pique", "4 de pique", "5 de pique", "6 de pique", "7 de pique", "8 de pique", \
|
||||||
|
"9 de pique", "10 de pique", "Valet de pique", "Dame de pique", "Roi de pique", "As de trefle", "2 de trefle", \
|
||||||
|
"3 de trefle", "4 de trefle", "5 de trefle", "6 de trefle", "7 de trefle", "8 de trefle", "9 de trefle", \
|
||||||
|
"10 de trefle", "Valet de trefle", "Dame de trefle", "Roi de trefle", "Joker rouge", "Joker noir"]
|
||||||
|
|
||||||
|
|
||||||
# Connexion du bot
|
# Connexion du bot
|
||||||
config = configparser.ConfigParser()
|
config = configparser.ConfigParser()
|
||||||
|
@ -128,8 +138,17 @@ def prive_read():
|
||||||
prive = loader.load()
|
prive = loader.load()
|
||||||
except:
|
except:
|
||||||
prive = {}
|
prive = {}
|
||||||
|
|
||||||
|
def paquets_read():
|
||||||
|
global cartes
|
||||||
|
try:
|
||||||
|
with open("paquets", "rb") as fichier:
|
||||||
|
loader = pickle.Unpickler(fichier)
|
||||||
|
paquets = loader.load()
|
||||||
|
except:
|
||||||
|
paquets = {}
|
||||||
|
|
||||||
def save_obj(room=None, event=None):
|
def save_obj(room=None, message=None):
|
||||||
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)
|
||||||
|
@ -162,6 +181,10 @@ def save_obj(room=None, event=None):
|
||||||
with open("welcome", "wb") as fichier:
|
with open("welcome", "wb") as fichier:
|
||||||
saver = pickle.Pickler(fichier)
|
saver = pickle.Pickler(fichier)
|
||||||
saver.dump(welcome)
|
saver.dump(welcome)
|
||||||
|
if ('cartes' in liste_mod):
|
||||||
|
with open("paquets", "wb") as fichier:
|
||||||
|
saver = pickle.Pickler(fichier)
|
||||||
|
saver.dump(paquets)
|
||||||
|
|
||||||
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
|
def signal_handler(signal, frame): # Sauvegarder les données persistantes avant sortie
|
||||||
save_obj(None,None)
|
save_obj(None,None)
|
||||||
|
@ -1306,6 +1329,41 @@ async def showquote(room, message): # afficher les citations mode reponse matrix
|
||||||
await reponses(room,phrases,True)
|
await reponses(room,phrases,True)
|
||||||
else:
|
else:
|
||||||
await msg(room,"Je n'ai pas de citations pour ce salon",sender)
|
await msg(room,"Je n'ai pas de citations pour ce salon",sender)
|
||||||
|
|
||||||
|
async def card(room, message): # Tirer une carte du paquet sans la retirer
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'card']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'card'] = False
|
||||||
|
if (modules[room.room_id, 'card']):
|
||||||
|
reponse = cartes_base[random.randrange(0,len(cartes_base))]
|
||||||
|
await msg(room,reponse,getUser(message))
|
||||||
|
|
||||||
|
async def carte(room, message): # Tirer une carte du paquet en la retirant ensuite
|
||||||
|
global modules
|
||||||
|
try:
|
||||||
|
rmod = modules[room.room_id, 'carte']
|
||||||
|
except:
|
||||||
|
modules[room.room_id, 'carte'] = False
|
||||||
|
if (modules[room.room_id, 'carte']):
|
||||||
|
global paquets
|
||||||
|
sender = getUser(message)
|
||||||
|
cartes = paquets.get(room.room_id)
|
||||||
|
if (cartes is None):
|
||||||
|
cartes = list(cartes_base)
|
||||||
|
args = getMessage(message).split()
|
||||||
|
if (len(args) > 1):
|
||||||
|
cartes=list(cartes_base)
|
||||||
|
await msg(room,"Le paquet est melange",sender)
|
||||||
|
else:
|
||||||
|
if (len(cartes) < 1):
|
||||||
|
cartes=list(cartes_base)
|
||||||
|
await msg(room,"Le paquet est melange",sender)
|
||||||
|
i = random.randrange(0,len(cartes))
|
||||||
|
await msg(room,cartes[i],sender)
|
||||||
|
cartes.pop(i)
|
||||||
|
paquets[room.room_id]=cartes
|
||||||
|
|
||||||
async def help(room, message): # Aide en message privé
|
async def help(room, message): # Aide en message privé
|
||||||
await help_center(room,message,"help",True)
|
await help_center(room,message,"help",True)
|
||||||
|
@ -1401,6 +1459,23 @@ async def help_center(room,message,name,private): # Aide sur les commandes dispo
|
||||||
message += "\n- !modo : Gère les modérateurs du salon\n- !module : Gère les modules actifs sur le salon\n\n- Pour plus de details, tapez !" + name + " <commande>\n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix"
|
message += "\n- !modo : Gère les modérateurs du salon\n- !module : Gère les modules actifs sur le salon\n\n- Pour plus de details, tapez !" + name + " <commande>\n\nRetrouvez Asmodee sur https://git.ombreport.info/nemesis/asmodee_matrix"
|
||||||
await msg(salon,message,sender, False)
|
await msg(salon,message,sender, False)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callSave(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, PREFIX)
|
||||||
|
if match.is_not_from_this_bot() and match.prefix() and match.command("save"):
|
||||||
|
save_obj(room, message)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callCard(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, PREFIX)
|
||||||
|
if match.is_not_from_this_bot() and match.prefix() and match.command("card"):
|
||||||
|
await card(room, message)
|
||||||
|
|
||||||
|
@bot.listener.on_message_event
|
||||||
|
async def callCarte(room, message):
|
||||||
|
match = botlib.MessageMatch(room, message, bot, PREFIX)
|
||||||
|
if match.is_not_from_this_bot() and match.prefix() and match.command("carte"):
|
||||||
|
await carte(room, message)
|
||||||
|
|
||||||
@bot.listener.on_message_event
|
@bot.listener.on_message_event
|
||||||
async def callHelp(room, message):
|
async def callHelp(room, message):
|
||||||
|
|
Loading…
Reference in a new issue