运行Discord机器人时提示"message is not defined"错误的技术求助
解决Discord机器人"message is not defined"错误
这个问题其实很好排查——你在代码里写了message.author.kick(),但你的消息事件回调参数定义的是msg,当前作用域里根本没有名为message的变量,所以系统才会抛出"message is not defined"的错误。
修正后的代码
只需要把代码里的message替换成你实际定义的参数名msg就可以了:
client.on('message', msg => { if (msg.content === 'textstring') { msg.author.kick(); } });
额外注意事项
- 确保你的机器人账号拥有踢人权限,并且机器人的角色位置要高于被踢用户的角色,不然踢人操作会直接失败。
- 如果你想给踢人操作添加可追溯的理由,可以在kick方法里传入描述:
msg.author.kick("发送了触发踢人的指定消息"),这个理由会显示在服务器的审核日志中。
内容的提问来源于stack exchange,提问作者imathinmint
相关产品推荐
相关产品推荐

