Я создаю бот-диск и пытаюсь разместить его в Heroku. После установки всех зависимостей я попытался протестировать их перед развертыванием, но появляется следующая ошибка:
nicolasperez@nicolasperez-Nitro-AN515-51:~/Documents/DMGBOT$ heroku local
3:00:24 AM worker.1 | > dmgbot@1.0.0 start /home/nicolasperez/Documents/DMGBOT
3:00:24 AM worker.1 | > node bot.js
3:00:25 AM worker.1 | (node:7624) UnhandledPromiseRejectionWarning: Error: An invalid token was provided.
3:00:25 AM worker.1 | at Promise (/home/nicolasperez/Documents/DMGBOT/node_modules/discord.js/src/client/rest/RESTMethods.js:33:44)
3:00:25 AM worker.1 | at new Promise (<anonymous>)
3:00:25 AM worker.1 | at RESTMethods.login (/home/nicolasperez/Documents/DMGBOT/node_modules/discord.js/src/client/rest/RESTMethods.js:32:12)
3:00:25 AM worker.1 | at Client.login (/home/nicolasperez/Documents/DMGBOT/node_modules/discord.js/src/client/Client.js:277:30)
3:00:25 AM worker.1 | at Object.<anonymous> (/home/nicolasperez/Documents/DMGBOT/bot.js:194:5)
3:00:25 AM worker.1 | at Module._compile (module.js:652:30)
3:00:25 AM worker.1 | at Object.Module._extensions..js (module.js:663:10)
3:00:25 AM worker.1 | at Module.load (module.js:565:32)
3:00:25 AM worker.1 | at tryModuleLoad (module.js:505:12)
3:00:25 AM worker.1 | at Function.Module._load (module.js:497:3)
3:00:25 AM worker.1 | at Function.Module.runMain (module.js:693:10)
3:00:25 AM worker.1 | at startup (bootstrap_node.js:188:16)
3:00:25 AM worker.1 | at bootstrap_node.js:609:3
3:00:25 AM worker.1 | (node:7624) UnhandledPromiseRejectionWarning: Unhandled promise rejection. This error originated either by throwing inside of an async function without a catch block, or by rejecting a promise which was not handled with .catch(). (rejection id: 1)
3:00:25 AM worker.1 | (node:7624) [DEP0018] DeprecationWarning: Unhandled promise rejections are deprecated. In the future, promise rejections that are not handled will terminate the Node.js process with a non-zero exit code.
[DONE] Killing all processes with signal SIGINT
3:00:25 AM worker.1 Exited Successfully
Я не понимаю, почему это происходит, поскольку я уже установил переменные конфигурации в настройках приложения в Heroku.
Вот код для бота: важная строка - последняя, где бот пытается войти в систему с действительным токеном.
const botconfig = require("./botconfig.json");
const Discord = require("discord.js");
const Gamedig = require('gamedig');
const bot = new Discord.Client({disableEveryone: true});
bot.on("ready", async message => {...});
bot.on("message", async message => {...});
bot.login(process.env.BOT_TOKEN);
Я много раз пытался сбросить токен бота, заключая его в кавычки и включая .json
с токеном, но пока ничего не получалось.
Почему конфигурационные переменные не работают, зная, что они настроены на действительный дискотский бот-токен? Какие другие решения могут помочь моему боту работать без проблем?