Archived
1
0
Fork 0
This repository has been archived on 2024-02-17. You can view files and clone it, but cannot push or open issues or pull requests.
FTW-Bot/Garou.py

121 lines
4.7 KiB
Python
Raw Normal View History

2017-12-05 10:02:52 +01:00
import discord
import random
2017-12-05 10:02:52 +01:00
from discord.ext import commands
game = 0
djoueurs = 0
joueurs = str("0")
2017-12-05 10:02:52 +01:00
2017-12-05 10:02:52 +01:00
class Garou:
def __init__(self, bot):
self.bot = bot
self.games = {} # contiendra toutes les partie en cours
def create_game(self, channel_id): # créer une game : ajout d'option possible
game = {
'channel' : channel_id,
'player' : [],
2017-12-07 22:18:52 +01:00
'message' : None
}
return game
2017-12-07 22:18:52 +01:00
def get_game(self,channel_id):
for game in self.games:
if channel_id == game['channel']:
return game
return None
def embed(self):
info = discord.Embed()
info.title = 'Garou : Choose the player'
info.colour = random.randint(0, 0xFFFFFF)
info.add_field(name='Description', value="Voici une description ndu jeu")
info.add_field(name='Info', value="Choose the player by react on this message !")
info.set_footer(text="Loup Garou by jbdo99 & flifloo")
return info
2017-12-07 22:18:52 +01:00
2017-12-05 10:02:52 +01:00
#Commande de démarrage du Garou
@commands.command(pass_context=True, name="lg")
async def start(self, ctx):
"""Commence la partie"""
2017-12-07 22:18:52 +01:00
if self.get_game(ctx.message.channel) == None: # on verifie si il n y pas de partie en cours dans ce salon
self.games[ctx.message.channel] = self.create_game(ctx.message.channel) # on créer le jeu
game = self.games[ctx.message.channel]
game['message'] = await self.bot.send_message(ctx.message.channel,embed=self.embed()) # on affiche le message et on le met dans le game
for emoji in ["💚"]:
2017-12-09 13:04:23 +01:00
await self.bot.add_reaction(message=game["message"],emoji=emoji) #on fait apparaitre le/les reac du bot
nopi = True #boucle infin (a ccorriger, j vais mettre une time out)
2017-12-07 22:18:52 +01:00
while nopi:
2017-12-09 13:04:23 +01:00
waiter = await self.bot.wait_for_reaction(message=game["message"],timeout=40.0) #on attend les reac (le timeout est mis a 40, j vais modif ca + tard)
if not waiter == None: # si c est pas none
if (waiter[0].emoji == "💚" and waiter[1] != self.bot.user): # si la rec est la bonne et que c est pas le bot (car discord prend du temp a mettre les reac et le bot croie que sa propre reac est une nouvelle)
await self.bot.say("Un joueur en plus !") #ici on mettre l ajout d un utilisateur
2017-12-07 22:18:52 +01:00
else:
await self.bot.say("A game already started")
"""
2017-12-05 10:02:52 +01:00
#Commande pour definir les participant du Garou
@commands.command(pass_context=True)
async def gjoueurs(self, ctx, *, CMDjoueurs):
global djoueurs
global joueurs
2017-12-05 10:02:52 +01:00
if game == 0:
print("Commande gjoueurs lancer par: "+str(ctx.message.author)+" refuser, aucune partie lancer !")
2017-12-05 10:02:52 +01:00
await self.bot.say("Désoler mais aucune partie n'est lancer.")
2017-12-05 10:02:52 +01:00
elif game == 1:
if djoueurs == 1:
print("Commande gjoueurs lancer par: "+str(ctx.message.author)+" refuser, partie deja lacer !")
await self.bot.say("Désoler mais une partie est deja en cours !")
elif djoueurs == 0:
djoueurs = 1
joueurs = CMDjoueurs
print("Commande gjoueurs lancer par: "+str(ctx.message.author)+" argument: "+str(CMDjoueurs))
await self.bot.say("Les jouer de cette partie sont: "+str(joueurs))
2017-12-05 10:02:52 +01:00
#Commande de test
@commands.command(pass_content=True)
async def gtest(self, ctx):
2017-12-06 12:52:53 +01:00
sender = ctx.message.author
if is_joueurs(sender) == True:
await self.bot.say("Vous ete bien un joueurs !")
2017-12-05 10:02:52 +01:00
elif gm == ctx.message.author:
await self.bot.say("Vous ete le GM !")
2017-12-05 10:02:52 +01:00
else:
await self.bot.say("Vous n'ete pas un joueurs !")
2017-12-05 10:02:52 +01:00
#Commande pour annuler le Garou
@commands.command(pass_context=True)
async def gstop(self, ctx):
global game,djoueurs
2017-12-05 10:02:52 +01:00
if game == 0:
print("Commande gstop lancer par: "+str(ctx.message.author)+" refuser, aucune partie lancer !")
await self.bot.say("Désoler mais aucune partie n'est lancer.")
2017-12-05 10:02:52 +01:00
elif game == 1:
if gm == ctx.message.author:
#reset de toutes les variables
game = 0
djoueurs = 0
2017-12-05 10:02:52 +01:00
gm = 0
print("Partie de garou annuler !")
await self.bot.say("La partie de garou est annuler !")
2017-12-05 10:02:52 +01:00
else:
print("Commande gstop mancer par: "+str(ctx.message.author)+" refuser car ce n'est pas le gm !")
await self.bot.say("Désoler mais vous n'avez pas le droit de faire ça, vous n'étes pas le gm !")
"""
2017-12-05 10:02:52 +01:00
def setup(bot):
bot.add_cog(Garou(bot))