b00tyCha1n
@b00tyCha1n
Stupidity - key to the answer

Как сделать так, чтобы бот отвечал определенным сообщением столько раз, сколько пользователей нажмет на emoji?

Доброго времени суток! Помогите, пожалуйста, исправить код так, чтобы бот мог реагировать на каждого пользователя, а не только на того, кто вызвал данную команду

Код:
@bot.command()
async def alive(ctx):
    msg = await ctx.channel.send('are you all right?')
    await msg.add_reaction('✝️')
    await msg.add_reaction('')

    try:
        reaction, user = await bot.wait_for('reaction_add',
                                            check=lambda reaction, user: user == ctx.author and reaction.emoji in ['✝️',
                                                                                                                   ''],
                                            timeout=5.0)

    except asyncio.TimeoutError:
        await ctx.channel.send('too late')

    else:
        if reaction.emoji == '✝️':
            await ctx.channel.send(f'{ctx.author.mention}, 1')

        else:
            await ctx.channel.send(
                f'{ctx.author.mention}, 2')

Проблема в том, что бот отправляет сообщение только пользователю, который вызвал эту команду. Так же, он отвечает на сообщение только однажды, а далее замолкает. Помогите исправить, пожалуйста, столь глупую, как мне кажется, ошибку.

P.S. ---> Если что, то вторая emoji просто не загрузилась. Там может быть любая emoji, это не важно
  • Вопрос задан
  • 146 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы