from discord.ext import commands from utils import emojiToCommand class ReactionCog(commands.Cog): def __init__(self, bot): """Listens for reactions.""" self.bot = bot @commands.Cog.listener() async def on_reaction_add(self, reaction, user): if user.bot == False: message = reaction.message channel = message.channel self.bot.log(f"{user.display_name} reacted to a message",str(channel.id), level = 10) try: connectFourTheirTurn, piece = self.bot.databaseFuncs.connectFourReactionTest(channel,message,"#"+str(user.id)) except: connectFourTheirTurn = False bedreNetflixMessage, addMovie, imdbIds = self.bot.databaseFuncs.bedreNetflixReactionTest(channel, message) if connectFourTheirTurn: place = emojiToCommand(reaction.emoji) await self.bot.games.gameLoops.connectFour(message,"place "+str(piece)+" "+str(place),user.id, str(message.channel.id)) elif bedreNetflixMessage and addMovie: moviePick = emojiToCommand(reaction.emoji) await message.delete() if moviePick == "none": imdbID = None else: imdbID = imdbIds[moviePick-1] await self.bot.other.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.bot.other.bedreNetflix.addShow(channel,imdbName) elif self.bot.databaseFuncs.hangmanReactionTest(channel,message) and ord(reaction.emoji) in range(127462,127488): guess = chr(ord(reaction.emoji)-127397) await self.bot.games.gameLoops.runHangman(channel,"#"+str(user.id),command="guess "+guess) def setup(bot): bot.add_cog(ReactionCog(bot))