"TypeError: argument of type 'NoneType' is not iterable" on_message



信息:我最近正在开发我的机器人程序,如果您在频道的主题中有命令(描述(,它能够让机器人程序对消息做出反应。我抬头看了看,尽了一切可能,但都没用。机器人的控制台会收到错误的垃圾邮件,尽管反应有效。不过,我确实注意到,自从我实现了这一点以来,我的机器人只在一些服务器上工作,在其他服务器上完全停止(除了on_message反应(。我不知道为什么它在某些方面比在其他方面有效,也没能弄清楚。

错误:

File "FILENAME", line NUMBER, in on_message
if "S|Wave" in message.channel.topic:
TypeError: argument of type 'NoneType' is not iterable

代码:

@client.event
async def on_message(message):
if "S|Wave" in message.channel.topic:
await message.add_reaction("👋")

如果有帮助的话,我在on_message下有多个这样的事件,包括ping反应和其他on_messange事件。

由于您使用的是on_message,并且它确实有一个主题,这表明通道只能是TextChannel

这并不重要,但您发送消息的通道没有设置主题,因此它将返回None。你可以通过添加一个快速if语句来解决这个问题,例如

@client.event
async def on_message(message):
if "S|Wave" in message.channel.topic if message.channel.topic else "":
await message.add_reaction("👋")

相关内容

最新更新