Discord机器人on_message定义处触发SyntaxError无效语法问题求助
问题原因
你提供的代码中,on_ready函数内的print调用末尾缺少闭合右括号),Python解析器无法正确识别on_ready函数的结束边界,会将后续的@client.event装饰器、on_message函数定义都判定为on_ready的内部代码,最终在async def on_message行触发语法报错。报错指针指向on_message行属于Python语法报错的常见位置偏差,实际错误根源在前面未闭合的括号。
修复方案
给on_ready的print语句补全右括号即可,修复后的代码片段如下:
async def on_ready(): print("WizBot is currently online! Go check your Discord server; the bot should be active.") @client.event async def on_message(message): if message.author == client.user: return if message.content.startswith('+test'): await message.channel.send('WizBot is up and running!')
修改后重新运行代码,on_message的语法报错会自动消失,功能可正常触发。
内容的提问来源于stack exchange,提问作者neur0n-7
相关产品推荐
相关产品推荐

