discord.py bot:on_message 检测机器人等待发送()消息

Posted

技术标签:

【中文标题】discord.py bot:on_message 检测机器人等待发送()消息【英文标题】:discord.py bot: on_message detecting bot await send() messages 【发布时间】:2020-12-26 12:13:09 【问题描述】:

有没有办法检测用户(而不是机器人本身)何时发送了消息?我了解 on_message 事件允许与预期的命令/响应 (https://discordpy.readthedocs.io/en/latest/api.html) 进行比较,但对于我的项目,没有设置用户响应。这使得机器人每次检测到自己的消息时都会触发。我该如何解决?

【问题讨论】:

【参考方案1】:

试试这个

client = discord.Client()
@bot.event
async def on_message(message):
    if message.author == client.user:
        return
    #then write the code down here so if the person who send message is bot it wont count

【讨论】:

我试过了,但不幸的是 client.user 为我返回了 None 。 message.author 完美地返回了我的用户对象,但 client.user 不工作 我所做的是 message.author != 'bot name'。我想这是一个解决方案,虽然不是最好的 我的代码对我有用,请尝试使用命令 bot.commands

以上是关于discord.py bot:on_message 检测机器人等待发送()消息的主要内容,如果未能解决你的问题,请参考以下文章

与 on_message 事件有关的 Discord py Cog 问题,不起作用

在 discord.py 中手动触发事件

discord.py 中 on_message 的冷却时间

为啥我的 discord.py 机器人不响应 on_message 事件?

Discord.py:有没有办法使用 on_message() 函数获取命令的参数?

Discord.py on_message() 但仅用于私人消息