我正在尝试在Heroku上托管一个不和谐的机器人。
当它启动时,我得到这个错误:
"UnhandledPromiseRejectionWarning: Error [TOKEN_INVALID]: An invalid token was provided".
但这里是奇怪的部分。当我首先在Visual Studio Code中测试它时,它工作得很好。所以在我将文件放入Heroku的过程中,它变得无效。
有谁知道我该怎么解决这个问题吗?
感谢任何提前回复的邮件。
发布于 2021-08-09 03:12:44
在heroku上部署应用程序您必须将client.login(token)
更改为client.login(process.env.token)
,并将token
添加到
由于令牌-密钥和值令牌复制自不一致开发人员门户,请记住(important note!)
字母必须相同,我的意思是,如果您在process.env.TOKEN中使用大写字母,则配置变量现在必须为TOKEN。
发布于 2020-05-01 02:43:15
我遇到了一个类似的问题,我加密了令牌,这样我就可以将加密的令牌存储在heroku上,并在js中解密它,以便将实际的令牌传递给login方法。奇怪的是,如果我将令牌作为字符串直接写入到js文件中,或者我使用heroku并将其直接存储在js文件中,那么它就可以工作。但是,如果我将加密的令牌存储在heroku中并对其进行解密(是的,它是正确解密的),并将解密的令牌提供给登录方法,那么它就不起作用了。我不知道是否heroku做了一些奇怪的东西,或者discord.js不支持一些我不知道的东西……
因此,确定有效的方法是:在herokus config变量(来自dyno的设置)上插入令牌(客户端机密),然后使用process.env.BOT_TOKEN
并将其传递给Discord.Client().login()
。我假设在您的情况下是bot.login(process.env.BOT_TOKEN)
。
所以对我来说,我存储在heruko中的值和我发送给discord的值必须是相同的……
发布于 2021-07-30 03:40:09
您应该输入有效的 Discord bot令牌。你可以通过转到Discord Developer Portal,然后是“应用程序”,选择你的机器人,然后转到“机器人”并点击令牌下的“复制”(它说点击这里显示)来获取它。
https://stackoverflow.com/questions/60713007
复制相似问题