Mi bot de Telegram funciona perfectamente en la máquina local, pero cuando lo implemento en Heroku deja de responder y los dynos también están configurados para iniciar npm incluso cuando declaré el script de inicio en package.json. Aquí está el archivo de registro: -
2022-06-04T15:45:02.232005+00:00 aplicación[web.1]: en Promise._settlePromiseFromHandler (/app/node_modules/bluebird/js/release/promise.js:547:31) 2022-06-04T15: 45:02.232006+00:00 aplicación[web.1]: en Promise._settlePromise (/app/node_modules/bluebird/js/release/promise.js:604:18) 2022-06-04T15:45:02.232006+00: 00 aplicación[web.1]: en Promise._settlePromise0 (/app/node_modules/bluebird/js/release/promise.js:649:10) 2022-06-04T15:45:02.232006+00:00 aplicación[web.1 ]: en Promise._settlePromises (/app/node_modules/bluebird/js/release/promise.js:729:18) 2022-06-04T15:45:02.232006+00:00 app[web.1]: en _drainQueueStep (/ app/node_modules/bluebird/js/release/async.js:93:12) 2022-06-04T15:45:02.232007+00:00 aplicación[web.1]: en _drainQueue (/app/node_modules/bluebird/js/ release/async.js:86:9) 2022-06-04T15:45:02.232007+00:00 aplicación[web.1]: en Async._drainQueues (/app/node_modules/bluebird/js/release/async.js: 102:5) 2022-06-04T15:45:02.232008+00:00 app[web.1]: en Immediate.Async.drainQueues [como _onImmediate] (/app/node_modules/blu ebird/js/release/async.js:15:14) 2022-06-04T15:45:02.232011+00:00 aplicación[web.1]: en procesoImmediato (nodo:interno/temporizadores:466:21) 2022-06 -04T15:45:02.521059+00:00 heroku[web.1]: Estado cambiado de inicio a activo
editar: el código se comparte a continuación, seguí un tutorial para hacer mi propio bot de Telegram
const TelegramBot = require('node-telegram-bot-api'); const axios = require('axios'); // This file would be created soon require('dotenv').config(); const token = "token is here"; let bot; if (process.env.NODE_ENV === 'production') { bot = new TelegramBot(token); bot.setWebHook(process.env.HEROKU_URL + bot.token); } else { bot = new TelegramBot(token, { polling: true }); } bot.onText(/\/word (.+)/, (msg, match) => { const chatId = msg.chat.id; const word = match[1]; bot.sendMessage(chatId, "NO"); }); const express = require('express') const bodyParser = require('body-parser'); const app = express(); app.use(bodyParser.json()); app.listen(process.env.PORT); app.post('/' + bot.token, (req, res) => { bot.processUpdate(req.body); res.sendStatus(200); });