Replit密钥为何无法用于我的Discord机器人令牌?
解决Replit中Discord.js机器人无法读取环境变量的问题
确认秘密环境变量设置无误
- 点击Replit左侧的「Secrets」锁形图标
- 选择「New Secret」,在「Key」栏准确输入
DISCORD_TOKEN,「Value」栏粘贴机器人令牌 - 点击「Add Secret」保存,确认列表中存在该条目
必须重启Repl进程
Replit不会将新设置的环境变量自动注入正在运行的进程,设置完秘密后,先停止当前运行的机器人,再点击「Run」重新启动,环境变量才会生效。严格核对变量名拼写
环境变量名区分大小写,代码里的DISCORD_TOKEN必须和Secrets中的Key完全一致,包括大小写、下划线,任何拼写错误都会导致读取失败。添加调试语句验证
在代码开头插入以下代码,重启后查看终端输出:console.log("DISCORD_TOKEN 环境变量值:", process.env.DISCORD_TOKEN);如果输出仍为
undefined,说明环境变量未被加载;如果能正常输出令牌(注意不要泄露),则排查client.login的调用逻辑。确认项目环境为Node.js
确保Repl是Node.js环境,若项目中没有package.json,手动创建包含Discord.js依赖的配置文件,保证Replit正确加载Node.js的环境变量机制。
内容的提问来源于stack exchange,提问作者RJ Doss
相关产品推荐
相关产品推荐

