"node bot. js" не работает в героку - PullRequest
0 голосов
/ 05 августа 2020

Я пытаюсь разместить свой Discord. js бот на Heroku. Я видел и другие подобные вопросы, но ни один из ответов у меня не работает (вероятно, потому, что моя проблема другая.)

Проблема в том, что мой бот должен регистрировать что-то вроде этого при запуске:

Logged in as Bot#0001!

, и он не появляется, когда я развертываю приложение на Heroku. Это журнал сборки -

-----> Node.js app detected
       
-----> Creating runtime environment
       
       NPM_CONFIG_LOGLEVEL=error
       NODE_ENV=production
       NODE_MODULES_CACHE=true
       NODE_VERBOSE=false
       
-----> Installing binaries
       engines.node (package.json):  unspecified
       engines.npm (package.json):   unspecified (use default)
       
       Resolving node version 12.x...
       Downloading and installing node 12.18.3
       Using default npm version: 6.14.6
       
-----> Restoring cache
       - node_modules is checked into source control and cannot be cached
       
-----> Installing dependencies
       Prebuild detected (node_modules already exists)
       Rebuilding any native modules
       setimmediate@1.0.5 /tmp/build_ea5a3868_/node_modules/setimmediate
       @discordjs/collection@0.1.6 /tmp/build_ea5a3868_/node_modules/@discordjs/collection
       abort-controller@3.0.0 /tmp/build_ea5a3868_/node_modules/abort-controller
       event-target-shim@5.0.1 /tmp/build_ea5a3868_/node_modules/event-target-shim
       combined-stream@1.0.8 /tmp/build_ea5a3868_/node_modules/combined-stream
       delayed-stream@1.0.0 /tmp/build_ea5a3868_/node_modules/delayed-stream
       mime-db@1.44.0 /tmp/build_ea5a3868_/node_modules/mime-db
       mime-types@2.1.27 /tmp/build_ea5a3868_/node_modules/mime-types
       node-fetch@2.6.0 /tmp/build_ea5a3868_/node_modules/node-fetch
       prism-media@1.2.2 /tmp/build_ea5a3868_/node_modules/prism-media
       tweetnacl@1.0.3 /tmp/build_ea5a3868_/node_modules/tweetnacl
       ws@7.3.1 /tmp/build_ea5a3868_/node_modules/ws
       Installing any new modules (package.json)
       removed 12 packages in 0.298s
       found 0 vulnerabilities
       
       
-----> Build
       
-----> Caching build
       - node_modules (nothing to cache)
       
-----> Pruning devDependencies
       up to date in 0.229s
       found 0 vulnerabilities
       
       
-----> Build succeeded!
-----> Discovering process types
 ~     Mis-cased procfile detected; ignoring.
 ~     Rename it to Procfile to have it honored.
       Procfile declares types     -> (none)
       Default types for buildpack -> web
-----> Compressing...
       Done: 22.2M
-----> Launching...
       Released v9
       https://fundecrypted.herokuapp.com/ deployed to Heroku

А вот мой файл proc:

worker node bot.js

Мой пакет. json файл:

{
  "name": "Fundecrypted",
  "version": "1.0.0",
  "description": "",
  "main": "bot.js",
  "scripts": {
    "start" : "node bot.js"
  },
  "repository": {
    "type": "git",
    "url": "git+https://github.com/M1n3c4rt/Fundecrypted.git"
  },
  "keywords": [],
  "author": "",
  "license": "ISC",
  "bugs": {
    "url": "https://github.com/M1n3c4rt/Fundecrypted/issues"
  },
  "homepage": "https://github.com/M1n3c4rt/Fundecrypted#readme"
}

Мой бот. js файл:

const Discord = require('discord.js');
const client = new Discord.Client();

client.on('ready', () => {
    console.log(`Logged in as ${client.user.tag}!`);
});
client.on('message', msg => {
//code here
});
client.login('my token');
//I have omitted the rest of the code and left the important bits.

Все это находится в репозитории GitHub и связано с Heroku. Когда я развертываю бота, сообщение журнала не появляется, и мой бот все еще не в сети.

1 Ответ

1 голос
/ 05 августа 2020

В Procfile вам нужно иметь worker: node bot.js

И он не будет записывать это там, вам нужно открывать журналы в реальном времени через Heroku CLI

...