@Skray

Как сделать так, чтобы бот реагировал на реакции в личных сообщениях?

Работа с ботом осуществляется в личных сообщениях дискорда

Основная задача бота:
Сбор запросов с участников некоторого сервера и передача администратору.

Проблема:
не выполняется блок, который отвечает за то что:

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

Ломаю над этим голову уже второй день

import discord 

TOKEN = 'ТОКЕН БОТА'  

intents = discord.Intents.default() 
intents.message_content = True 
client = discord.Client(intents=intents) 

message_number = 1 

def check_message(message): 
if '0' in message.content: 
return True 
return False 

@client.event 
async def on_ready(): 
print(f'Logged in as {client.user}') 

@client.event 
async def on_message(message): 
global message_number 

if message.author  == client.user or not isinstance(message.channel, discord.DMChannel): 
return 

if check_message(message): 
user = await client.fetch_user(id) 
sent_message = await user.send(f'Запрос #{message_number}: {message.content}') 
message_number += 1 
await sent_message.add_reaction('✅') 

@client.event 
async def on_reaction_add(reaction, user): 
global message_number 

if user == client.user: 
return 

if str(reaction.emoji) == '✅' and reaction.message.author.id  == id and reaction.message.content.startswith('Запрос #'): 
message_number -= 1 
await reaction.message.delete() 
user = await client.fetch_user(id) 
await user.send(f'Запрос выполнен ({message_number})') 

client.run (TOKEN)
  • Вопрос задан
  • 110 просмотров
Пригласить эксперта
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы