Browse Source

card / carte / save

master
nemesis 2 years ago
parent
commit
f4bf367737
  1. 79
      asmodee.py

79
asmodee.py

@ -16,7 +16,6 @@ import nio
from datetime import datetime,timedelta
import requests
import html2text
import json
# Var
bot = None
@ -34,6 +33,17 @@ bieres = {} # Boissons a offrir
salons = {} # liste de salons recommandés
welcome = {} # Messages d'accueil des salons
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
config = configparser.ConfigParser()
@ -128,8 +138,17 @@ def prive_read():
prive = loader.load()
except:
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:
saver = pickle.Pickler(fichier)
saver.dump(modos)
@ -162,6 +181,10 @@ def save_obj(room=None, event=None):
with open("welcome", "wb") as fichier:
saver = pickle.Pickler(fichier)
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
save_obj(None,None)
@ -1306,6 +1329,41 @@ async def showquote(room, message): # afficher les citations mode reponse matrix
await reponses(room,phrases,True)
else:
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é
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"
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
async def callHelp(room, message):

Loading…
Cancel
Save