Проверить кто нажал на реакцию
Здраствуйте ! Хотел сделать мини игру "Дуэль" Игрок против игрока на серверную валюту Как пример : !duels <@member> сумма В чат отправляется сообщение : Вас приглашают сыграть в дуэль на сумму , и бот ставит реакцию , и если именно упомянутый (member) отреагирует на реакцию , то пойдёт игра . Как реализовать что бы если упомянутый пользователь нажал на реакцию , то запустится игра . Пока что код на таком этапе
@client.command(aliases=['duels'])
async def game(ctx, member: discord.Member = None, amount = None):
msg = await ctx.send(f'{ctx.author.name} предлагает сыграть {member.display_name} , на {amount}'.format(member, amount))
await msg.add_reaction('')
def check(reaction, user):
return str(reaction.emoji) == '' and user != client.user
try:
reaction, user = await client.wait_for('reaction_add', timeout=30, check=check)
test = random.randint(1, 2)
if test == 1:
cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), ctx.author.id))
cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(int(amount), member.id))
await ctx.send(f"1Congratulations {user.name} you won!")
if test == 2:
cursor.execute("UPDATE users SET cash = cash + {} WHERE id = {}".format(int(amount), ctx.author.id))
cursor.execute("UPDATE users SET cash = cash - {} WHERE id = {}".format(int(amount), member.id))
await ctx.send(f"2Congratulations {user.name} you won!")
except asyncio.TimeoutError:
await ctx.send("Кончилось время ожидания")