Заставить бота печатать текст сообщения по его идентификатору

#discord.py

#discord.py

Вопрос:

Я пытаюсь заставить бота печатать текст сообщения discord, на которое отреагировал пользователь. Это то, что у меня есть до сих пор:

 @bot.event
async def on_raw_reaction_add(payload):
    print(payload)
    channel = bot.get_channel(payload.channel_id)
    await channel.fetch_message(payload.message_id)
    print("message text here")
  

Странно, что объект ожидает канала.похоже, что fetch_message(id) sgives не включает текст сообщения.

Комментарии:

1. Вы не определили id в fetch_message(id) .

2. Теперь я это исправил!

Ответ №1:

Вы должны присвоить полученное сообщение переменной. Например message = await channel.fetch_message(payload.message_id) . Затем вы можете получить его содержимое message.content .

 @bot.event
async def on_raw_reaction_add(payload):
    print(payload)
    channel = bot.get_channel(payload.channel_id)
    message = await channel.fetch_message(payload.message_id)
    print(message.content)
  

Комментарии:

1. Я думаю, что предпоследняя строка должна быть message =await channel . fetch_message(payload.message_id) но большое спасибо за помощь! я действительно ценю это!