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

Discord机器人请求报错:Expected token to be set问题求助

问题排查:Discord机器人"Expected token to be set"报错

核心原因

你代码中读取环境变量的方式完全错误——你把Discord Token的字符串内容当成了环境变量的键名,而非使用你在环境变量中定义的变量名称。这导致discordToken实际取值为undefined,REST实例未获取到有效Token,触发报错。

看你的代码:

const discordToken = process.env["MTEwMzcxNjY0NzMxNzAxMjQ4MA.GCviE2._V1WKQhWPjsCZJ3EWvy2rmKFKQnTmXnmjqOsw8"];

这行代码试图读取名为MTEwMzcxNjY0NzMxNzAxMjQ4MA.GCviE2._V1WKQhWPjsCZJ3EWvy2rmKFKQnTmXnmjqOsw8的环境变量,但这个变量根本不存在,所以discordToken的值是undefined。

修复步骤

  1. 配置正确的环境变量
    创建或修改项目根目录下的.env文件,用清晰的变量名存储你的敏感信息:

    DISCORD_TOKEN=MTEwMzcxNjY0NzMxNzAxMjQ4MA.GCviE2._V1WKQhWPjsCZJ3EWvy2rmKFKQnTmXnmjqOsw8
    CHANNEL_ID=1089592410360782908
    GUILD_ID=1085245543208464455
    
  2. 修改代码读取正确的变量
    替换原有的环境变量读取代码:

    const discordToken = process.env.DISCORD_TOKEN;
    const channelId = process.env.CHANNEL_ID;
    const guildId = process.env.GUILD_ID;
    
  3. 确保dotenv生效
    如果使用本地.env文件,需要安装并加载dotenv包:

    • 安装:npm install dotenv
    • 在代码最顶部添加加载语句:
      // CommonJS
      require('dotenv').config();
      // ES模块
      import dotenv from 'dotenv';
      dotenv.config();
      

验证方法

在代码中添加一行打印,确认Token是否正确读取:

console.log('Token读取结果:', discordToken);

运行代码后,控制台应该输出你的完整Discord Token,而非undefined。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.22 19:13:32