Как узнать кто поставил реакцию в дискорде
Перейти к содержимому

Как узнать кто поставил реакцию в дискорде

  • автор:

Уровень проверки

Уровни проверки — вид модерации на сервере, позволяет писать участникам, только с выполненными пунктами (или любой ролью, кроме «@everyone»), которые будут описаны ниже. Уровни проверки используют, в основном, для защиты от рейдов. А также, участники без роли не могут ставить реакции.

где настроить? [ ]

вам нужно идти по такому пути:

настройка сервера > настройка безопасности > защита от ЛС и спама > изменить > уровень проверки

Уровни [ ]

Низкий [ ]

Участнику необходимо иметь подтверждённый e-mail. Всё тоже самое как, и описал сам Дискорд. Писать на сервере иставить реакциисмогут только подтвердившие свой e-mail или имеющие какую-либо роль.

Средний [ ]

Участник так же должен быть зарегистрирован в Discord более 5 минут. Надо подождать 5 минут на сервере, если вы только что зарегистрировались в приложении.

Высокий [ ]

Также должен быть участником этого сервера более 10 минут. Участник, после того, как зашёл на сервер, должен подождать 10 минут.

Самый высокий [ ]

Участник должен иметь подтверждённый телефон в учётной записи Discord. Включая все верхние пункты, это и вправду является самым высоким уровнем проверки.

Как узнать всех пользователей которые поставили реакцию на выбранное сообщение в discord.py?

Здравствуйте! Создаю функцию у бота которая собирает участников и переправлчяет из на сервер.

@bot.command() async def start(ctx): channel = ctx.message.channel mess = await channel.send('Набор в игру') r = bot.Reaction await asyncio.sleep(10) mess = await channel.fetch_message(ID)

Я смотрел документацию, но когда пытаюсь узнать всех пользователей вот так:
mess.Reaction.users() — высвечивает, что Reaction не является атрибутом Message..
Как можно узнать?

  • Вопрос задан более трёх лет назад
  • 4617 просмотров

Комментировать
Решения вопроса 1

fixator10

Атрибут который вам нужен называется Message.reactions . discord.Reaction — тип возвращаемых объектов в reactions.

@bot.command() async def start(ctx): mess = await channel.send('Набор в игру') await asyncio.sleep(10) mess = await ctx.channel.fetch_message(mess.id) if yes_react := discord.utils.get(mess.reactions, emoji=ctx.guild.get_emoji(471483388532742130)): async for user in yes_react.users: print(str(user)) # выведет всех пользователей поставивших реакцию в консоль

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

Есть дискорд бот. Нужно создать реакции под сообщениями, которые бот отправляет, и получать информацию, о том, кто нажал на какую реакцию.

Отслеживать
задан 20 окт 2020 в 15:53
11 4 4 бронзовых знака

1 ответ 1

Сортировка: Сброс на вариант по умолчанию

POST_ID — ID сообщения, реакцию под которым нужно отследить.

import discord from discord.ext import commands from discord.utils import get async def on_raw_reaction_add(payload): if payload.message_id == config.POST_ID: channel = client.get_channel(payload.channel_id) #канал message = await channel.fetch_message(payload.message_id) #сообщение user = get(message.guild.members, #пользователь, который поставил реакцию emoji = str(payload.emoji) 

Дополнено:

Вместо on_raw_reaction_add(payload) можно использовать on_reaction_add(reaction, user) . Подробнее опять таки, в документации.

Как отследить пользователя который ставил реакцию на сообщение discord.py?

fenrir1121

Есть целых два способа:
1) Открыть документацию, прочитать атрибуты и методы объектов пользователь и сообщение, воспользовавшись полученными знаниями в своем боте получить нужное сообщение, получить реакции сообщения и сравнить id пользователей поставивших реакции с id определенного юзера.
2) Открыть фриланс и там все сделают за тебя

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *