from discord.ext import commands from funcs import logThis, emojiToCommand class ReactionCog(commands.Cog): def __init__(self, client): """Listens for reactions.""" self.client = client @commands.Cog.listener() async def on_reaction_add(self, reaction,user): if user.bot == False: message = reaction.message channel = message.channel logThis(user.display_name+" reacted to a message",str(channel.id)) try: fourInARowTheirTurn, piece = self.client.funcs.fiarReactionTest(channel,message,"#"+str(user.id)) except: fourInARowTheirTurn = False bedreNetflixMessage, addMovie, imdbIds = self.client.funcs.bedreNetflixReactionTest(channel,message) if fourInARowTheirTurn: place = emojiToCommand(reaction.emoji) await self.client.gameLoops.fiar(channel," place "+str(piece)+" "+str(place),user.id) elif bedreNetflixMessage and addMovie: moviePick = emojiToCommand(reaction.emoji) await message.delete() if moviePick == "none": imdbID = None else: imdbID = imdbIds[moviePick-1] await self.client.bedreNetflix.addMovie(channel,imdbID) elif bedreNetflixMessage and not addMovie: showPick = emojiToCommand(reaction.emoji) await message.delete() if showPick == "none": imdbName = None else: imdbName = imdbIds[showPick-1] await self.client.bedreNetflix.addShow(channel,imdbName) elif self.client.funcs.monopolyReactionTest(channel,message): await self.client.gameLoops.runMonopoly(channel,"roll","#"+str(user.id)) elif self.client.funcs.hangmanReactionTest(channel,message) and ord(reaction.emoji) in range(127462,127488): guess = chr(ord(reaction.emoji)-127397) await self.client.gameLoops.runHangman(channel,"#"+str(user.id),command="guess "+guess) def setup(client): client.add_cog(ReactionCog(client))