Проверьте, является ли ответ на сообщение сообщением типа ответа discord.py

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

Вопрос:

У меня есть следующий базовый код бота на python discord:

 @bot.command()
async def replyTest(ctx):
    await ctx.send('Reply to this message')
    def check(m):
        return m
    msg = await bot.wait_for("message", check=check)
    print(msg)
 

Есть ли способ вернуться m только в том случае, если m сообщение типа ответа?

Ответ №1:

Вы можете просто проверить, есть ли в сообщении ссылка.

 def check(m):
    if m.reference is not None and not m.is_system :
         return True
    return False
 

Кроме того, если вы хотите проверить, указывает ли ссылка на сообщение

 def check(m):
   if m.reference is not None:
        if m.reference.message_id = some_msg.id
            return True
   return False
 

Рекомендации:

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

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

2. Исправил это, проверив на наличие. Спасибо, что упомянули