@zaralX
Я человек, я упал с луны.

Как получить количество конкретной реакции на сообщении?

Пишу код при котором если на сообщении ставится реакция то оно меняется, но я столкнулся с проблемой то что если ставит новый человек то оно тоже меняется.

мне нужно что бы если ктото ставит третью эмоцию она убиралась, но как это проверить? я исследовал форумы и точного решения проблемы не нашол.

вот код:

@bot.event
async def on_raw_reaction_add(ctx):
	message = ctx.message_id
	sql.execute(f"SELECT publishedid FROM tasks WHERE publishedid = '{message}'")
	if sql.fetchone() != None:
		if ctx.emoji.id == 807281031060258846:
			achannel = bot.get_channel(ctx.channel_id)
			reallymsg = await achannel.fetch_message(message)
			cache_msg = discord.utils.get(bot.cached_messages, id= reallymsg.id)
			testerreac = cache_msg.reactions
			print(cache_msg)
			print("-----------------------------------------")
			print(testerreac)
			print("------------------------------------------")
			for i in testerreac:
				print(i)
				if testerreac == 807281031060258846:
					print(testerreac.count)
					if testreac.count > 2:
						# удалить реакию
					else:
						# ну и дальше код который меняет сообщение
  • Вопрос задан
  • 134 просмотра
Решения вопроса 1
SoreMix
@SoreMix Куратор тега Python
yellow
for reaction in testerreac:
    if not isinstance(reaction.emoji, str) and reaction.emoji.id == 807281031060258846:
        if reaction.count > 2:
            await cache_msg.remove_reaction(reaction, ctx.member)
            return
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

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

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