【问题标题】:message.mentions sometimes return emptymessage.mentions 有时返回空
【发布时间】:2021-10-31 18:26:08
【问题描述】:

Discord.py 的 ctx.message.mentions 不适用于其后的字符串。

例如:

我:禁止@MEE6

工作得很好,它可以检测到我提到了一个名字和一切 但是

我:请禁止@MEE6

不起作用,它甚至没有检测到我提到了一个人 我这边有问题吗,这应该发生吗??

另外,我不是在寻找我在函数中添加的参数,而是在寻找使用ctx.message.mentions

【问题讨论】:

  • 如果您可以发送您编码的代码,我们将很容易解决

标签: python discord discord.py


【解决方案1】:

Discord API 与消息事件一起显式传递提及,discord.py 不会尝试从消息中手动解析它。只要提及的目标被 ping 通,它就会出现在 message.mentions 中。

https://discord.com/developers/docs/resources/channel#message-object-message-structure

我怀疑当您输入“ban @MEE6 please”时,您 ping MEE6 的角色而不是机器人用户(当您复制上一条消息“ban @MEE6”时可能会发生这种情况)。如果你也检查了message.role_mentions,你应该在那里找到提及(如果你有适当的 ping 权限)。

discord.py 也有 Message.raw_mentions,它直接从消息中解析所有用户提及,而不是由 API 提供。

【讨论】:

    猜你喜欢
    • 2015-09-22
    • 1970-01-01
    • 1970-01-01
    • 2014-09-17
    • 1970-01-01
    • 2020-10-07
    • 1970-01-01
    • 2020-07-25
    • 2018-05-13
    相关资源
    最近更新 更多