Задать вопрос
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, это не важно
  • Вопрос задан
  • 152 просмотра
Подписаться 1 Простой 2 комментария
Помогут разобраться в теме Все курсы
  • Нетология
    Python-разработчик: расширенный курс + нейросети
    12 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ваш ответ на вопрос

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

Похожие вопросы
ITK academy Краснодар
от 220 000 до 300 000 ₽
ITK academy Краснодар
от 75 000 ₽
DimaTech Ltd Краснодар
от 140 000 до 140 000 ₽