discord py — отправить другое сообщение, если пользователь отвечает моему боту

#python #python-3.x #discord.py

#python #python-3.x #discord.py

Вопрос:

Я хочу отправить конкретное сообщение, если кто-нибудь ответит на сообщение от моего бота discord, я много чего перепробовал, но не могу найти решение. Кроме того, он является новым в версии 1.6, и я не могу найти его в документах из discord. Я нашел «ссылку», но не понимаю, как я могу это использовать.

Что я пробовал:

 if len(message.replies) >= 0:
   await ctx.send('thanks for reply dude')
 

но, к сожалению, это не работает.

Ответ №1:

Это не message.replies так, это message.reference

 if message.reference is not None:
    await ctx.send("Thanks for the reply dude")
 
 if message.reference is not None:
    if message.reference.cached_message is None:
        # Fetching the message
        channel = bot.get_channel(message.reference.channel_id)
        msg = await channel.fetch_message(message.reference.message_id)

    else:
        msg = message.reference.cached_message
 

Обратите внимание, что у этого все еще есть некоторые недостатки, message_id атрибут также может быть None

Ссылка:

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

1. Но разве это не будет по-прежнему происходить с сообщениями типа «сообщение было закреплено» или что-то в этом роде? Я прочитал, что

2. И небольшой другой вопрос, как я могу получить message.content из ответного сообщения?

3. Я не уверен, как насчет первого вопроса, но вы можете проверить редактирование

4. pastebin.com/9VHqPXrR — не работает. Что я делаю не так?

5. Что вы подразумеваете под «не работает»? Что происходит? Какие-либо ошибки?