You need to enable JavaScript to run this app.
最新活动
大模型
产品
解决方案
定价
生态与合作
支持与服务
开发者
了解我们

Discord Bot始终离线求助:按教程操作后仍无法上线

排查Discord机器人离线问题的步骤

我来帮你梳理下可能遗漏的环节,按优先级一个个排查:

1. 机器人未被正确邀请至服务器

大概率你没生成正确的邀请链接,或者邀请时权限不足:

  • 打开Discord开发者门户,找到你的机器人应用
  • 进入「OAuth2」→「URL生成器」
  • 在「范围(Scopes)」里勾选botapplications.commands
  • 在「机器人权限(Bot Permissions)」里至少勾选「发送消息」「读取消息历史」这类基础权限(测试阶段可以直接选「管理员」权限)
  • 复制生成的链接,在浏览器打开后选择你的服务器完成邀请

2. Token无效或格式错误

检查auth.json里的令牌是否正确:

  • 去开发者门户的「Bot」页面,点击「重置Token」(新Token只会显示一次,务必保存好)
  • 把新Token精准粘贴到auth.jsontoken字段,确保没有多余空格、换行,且使用英文双引号包裹
  • 注意:必须用机器人专属的Token,不能用你自己的Discord账号密码或用户Token

3. 依赖库版本不兼容(discord.io已停止维护)

你使用的discord.io是废弃已久的库,无法适配Discord最新的API网关,解决办法:

  • 先卸载旧库:npm uninstall discord.io
  • 安装兼容新版API的分支:npm install discord.io github:woor/discord.io#gateway_v6 --save
  • 重新运行node bot.js测试

4. 日志配置隐藏了错误信息

你当前的logger配置可能没输出连接失败的错误,暂时替换成简易的控制台输出,方便排查:

// 替换原有的logger配置
console.log('机器人启动中...');
// 初始化Discord Bot
var bot = new Discord.Client({
    token: auth.token,
    autorun: true
});
bot.on('ready', function (evt) {
    console.log('已连接');
    console.log('登录身份: ');
    console.log(bot.username + ' - (' + bot.id + ')');
});
// 新增错误监听
bot.on('error', function(err) {
    console.error('机器人错误:', err);
});

运行后如果有Token无效、网关连接失败等问题,会直接在控制台显示。

5. 网络或防火墙限制

如果是本地运行,检查防火墙是否允许Node.js访问网络;如果是服务器运行,确认安全组开放了Discord所需的443端口(HTTPS协议端口)。


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

火山引擎 最新活动