检查消息回复是不是为回复类型消息 discord.py

Posted

技术标签:

【中文标题】检查消息回复是不是为回复类型消息 discord.py【英文标题】:Check if message reply is a reply type message discord.py检查消息回复是否为回复类型消息 discord.py 【发布时间】:2021-07-01 12:08:59 【问题描述】:

我有以下基本的 python discord bot 代码:

@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

参考资料:

message.reference Reference.message_id

【讨论】:

请注意,这将包括一些其他类型的消息,例如 pin 添加。 通过检查修复它。感谢提及

以上是关于检查消息回复是不是为回复类型消息 discord.py的主要内容,如果未能解决你的问题,请参考以下文章

JS Discord Bot 上线但不回复消息 [重复]

如何让我的 Python Discord 机器人检查消息是不是由机器人本身发送?

Discord.js 以“只有你能看到这个”消息回复交互

Discord bot没有回复消息[重复]

Discord 机器人消息问题

Python,Discord bot 未回复消息且终端未更新