You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Discord机器人开发:startsWith函数无法正常工作求助

Discord机器人startsWith('!')无响应的排查方案

以下是几个常见问题点和对应解决办法:

  • 检查机器人权限
    确保你的机器人在目标服务器中拥有「读取消息/查看频道」和「发送消息」的权限。可前往服务器设置的「角色」面板,找到机器人对应的角色,确认这两项权限已开启。

  • 排查消息内容的实际值
    有时候输入的消息可能包含空格、不可见字符(比如全角感叹号),导致startsWith('!')判断失败。可以先打印消息的实际内容来验证:

    client.on("messageCreate", msg => {
        // 打印消息内容,方便排查
        console.log(`收到消息: "${msg.content}"`);
        if (msg.content.startsWith('!')) {
            msg.channel.send('test')
        }
    })
    

    运行后查看控制台输出的内容,确认是否和你输入的一致。

  • 排除机器人自身消息
    如果机器人触发了自己的消息循环,可能导致逻辑异常。建议先忽略机器人发送的消息:

    client.on("messageCreate", msg => {
        // 跳过机器人自己的消息
        if (msg.author.bot) return;
        if (msg.content.startsWith('!')) {
            msg.channel.send('test')
        }
    })
    
  • 确认事件绑定与登录顺序
    确保messageCreate事件的监听代码写在client.login(TOKEN)之前,否则事件可能无法正确绑定。

内容的提问来源于stack exchange,提问作者Berc Plays

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.07 04:46:14