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

discord.js-commando机器人不识别我为所有者问题咨询

解决Discord Commando机器人忽略Owner配置的问题

我帮你梳理几个可能导致这个问题的原因,以及对应的解决办法:

  • Owner配置格式错误
    Discord.js Commando的早期版本(v0.x系列)要求owner参数必须是字符串数组,而不是单个字符串。你现在的代码里写的是owner: 'myid',这会导致机器人无法正确识别你的ID。把它改成数组格式试试:

    const bot = new commando.Client({ 
      commandPrefix: '%', 
      owner: ['你的实际ID'], // 用数组包裹ID
    });
    
  • ID存在格式问题
    虽然你说ID是从开发者选项复制的,但还是要确认下复制的是纯数字的用户ID,没有多余的空格、引号或者其他字符。Discord用户ID是一串纯数字,比如123456789012345678,任何额外字符都会导致匹配失败。

  • 命令的权限验证逻辑有问题
    如果你是自定义的所有者/管理员命令,可能没有正确使用Commando内置的权限验证。建议直接用Commando提供的isOwner()方法来判断,而不是自己写硬编码的ID判断:

    async run(message) {
      // 验证是否为机器人所有者
      if (!this.client.isOwner(message.author)) {
        return message.reply('你没有权限使用这个命令!');
      }
      // 这里写命令的核心逻辑
    }
    

    如果之前是自己写的if(message.author.id !== 'xxx'),要确保这里的ID和你配置的完全一致。

  • 忘记重启机器人
    修改配置后一定要完全重启机器人程序,不然内存里还是旧的配置,新的owner设置不会生效。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.15 06:36:55