Задать вопрос
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 просмотров
Подписаться 1 Простой 2 комментария
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
от 200 000 до 300 000 ₽
Greenway Global Новосибирск
от 150 000 ₽
Akronix Санкт-Петербург
от 150 000 до 200 000 ₽
29 янв. 2025, в 00:48
2000 руб./за проект
29 янв. 2025, в 00:34
100 руб./за проект
28 янв. 2025, в 23:52
2000 руб./за проект