В созданном мной диссон-боте я запрограммировал это поле как вывод при вызове функции $track_win
и добавил несколько реакций под этим полем.
@bot.command()
async def track_win(ctx):
embed = discord.Embed(title = "Individual Win Tracker", description = "Click on any of the following emojis corresponding to the winner", color =0xeee657)
embed.add_field(name = "Afif:", value = ":joy:")
embed.add_field(name = "Faisal:", value = ":rage:")
embed.add_field(name = "Irfan:", value = ":open_mouth:")
embed.add_field(name = "Mahdi:", value = ":pensive:")
embed.add_field(name = "Maruf:", value = ":unamused:")
embed.add_field(name = "Nasseef:", value = ":sob:")
message = await ctx.send(embed = embed)
await message.add_reaction('\U0001F602')
await message.add_reaction('\U0001F621')
await message.add_reaction('\U0001F62E')
await message.add_reaction('\U0001F614')
await message.add_reaction('\U0001F612')
await message.add_reaction('\U0001F62D')
Теперь я хочу выполнить набор функций, когда пользователь нажимает на одну из реакций. Не могли бы вы сказать мне, как я могу этого достичь?
Видя ответ в этом вопросе переполнения стека , я сделал это:
@client.event
async def on_reaction_add(reaction,user):
if reaction.emoji == '\U0001F602': #all of the functions that I wanted to execute are given below
fo = open("/storage/emulated/0/afif.txt", "r")
wins = fo.read()
afif = int(str(wins)) + 1
fo.close()
fo = open("/storage/emulated/0/afif.txt", "w+")
fo.write(str(afif))
fo.close()
print(afif)
Однако, пока этот метод не похоже на работу, не исключение также не выбрасывается. Я не могу полностью понять документацию discord.py
Не могли бы вы дать мне пример того, как мне этого добиться?
Заранее спасибо!