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
|
||||
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…
Reference in a new issue