首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >discord.py on_message正在破坏机器人

discord.py on_message正在破坏机器人
EN

Stack Overflow用户
提问于 2021-03-03 00:56:58
回答 2查看 293关注 0票数 0

如果我把这个放在main.py中,机器人就坏了,没有命令可以工作,但我没有错误

代码语言:javascript
运行
复制
@client.event
async def on_message(message):
    if client.user.mentioned_in(message):
        embed=discord.Embed(description='My prefix here is ?. You can see available commands by typing `?help`', color=0x850000)
        await message.channel.send(embed=embed) 

如果把它放在cogs/commands.py中,on_message仍然不能工作,但是其他命令可以工作。但是每次我输入一些不一致的东西时,即使没有前缀,我也会收到这个错误。

文件“C:\Users\BUGA\Documents\VSCODE\ Projects\activity role\cogs\commands.py",第17行,on_message if client.user.mentioned_in(消息):AttributeError:'NoneType‘对象没有属性'mentioned_in’

代码语言:javascript
运行
复制
@commands.Cog.listener()
async def on_message(self, message):
    if client.user.mentioned_in(message):
        embed=discord.Embed(description='My prefix here is ?. You can see available commands by typing ?help', color=0x850000)
    await message.channel.send(embed=embed)
EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-03-03 06:51:31

对于第一段代码,可以使用await client.process_commands(message)。您可以查看医生们经常问的问题以获得更多信息,但以简单的方式:

@client.event异步def on_message (消息):#在on_message中做任何您需要做的事情,如果client.user.mentioned_in(消息):等待message.channel.send(“我对此服务器的前缀是?")等待client.process_commands(消息)

参照系:

票数 1
EN

Stack Overflow用户

发布于 2021-03-03 01:19:17

从您的错误来看,client.user正在计算为无。在文档中,如果用户未登录,client.user将不返回任何内容。因此,请检查client.user返回的内容,然后查看是否可以通过登录用户获得不同的结果。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66449249

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档