大佬教程收集整理的这篇文章主要介绍了每当我添加一个事件时,它都会禁用我的所有命令,为什么要这样做?,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
每当我添加一个事件时,它都会禁用我的所有命令,为什么会这样?这是我到目前为止的代码。是因为我写了 ctx AND 消息而他们只是不一起工作还是什么?这不是我的全部代码,这只是我遇到问题的部分。任何帮助,将不胜感激。谢谢!
@bot.event
async def on_message(messagE):
if message.author.ID == bot.user.ID:
return
msg_content = message.content.lower()
curseWord = ['baDWord','baDWord2']
if any(word in msg_content for word in curseWord):
await message.delete()
embed=discord.Embed(title="No No Word",description="hey! Those words arent allowed here!",color=0x00FFFF)
await message.chAnnel.send(embed=embed)
keep_alive()
bot.run(os.getenv('TOKEN'))
覆盖默认提供的 on_message 禁止任何额外的命令 从运行。要解决此问题,请在以下位置添加 bot.process_commands(messagE) 行 你的 on_message 结束。例如:
@bot.event
async def on_message(messagE):
# do some extra stuff here
await bot.process_commands(messagE)
@H_489_17@
Reference
,幸运的是我今天自己制定了这个命令,有人看到我遇到了问题。
当这个 on_message 是你自己调用的,而通常它是由这个协程本身调用的。因此,正如您自己所说的那样,您需要再做一次。
您需要添加以下语句:
await bot.process_commands(messagE)
我根据您的代码更改了代码,希望对您有所帮助。
@bot.event
async def on_message(messagE):
if message.author.id == bot.user.id:
return
msg_content = message.content.lower()
curseWord = ['badword','badword2']
if any(word in msg_content for word in curseWord):
await message.delete()
embed=discord.Embed(title="No No Word",description="Hey! Those words arent allowed here!",color=0x00FFFF)
await message.chAnnel.send(embed=embed)
else:
await bot.process_commands(messagE)
keep_alive()
bot.run(os.getenv('TOKEN'))
@H_489_17@
这对你有用。 :)
谢谢! :D
以上是大佬教程为你收集整理的每当我添加一个事件时,它都会禁用我的所有命令,为什么要这样做?全部内容,希望文章能够帮你解决每当我添加一个事件时,它都会禁用我的所有命令,为什么要这样做?所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。