Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Host telegram bot on heroku error #196

Open
passa9 opened this issue Apr 17, 2018 · 3 comments
Open

Host telegram bot on heroku error #196

passa9 opened this issue Apr 17, 2018 · 3 comments

Comments

@passa9
Copy link

passa9 commented Apr 17, 2018

Hi all!
I have host an example of this library on heroku but when deploy after a few minutes I get this error on log:

Error R10 (Boot timeout) -> Web process failed to bind to $PORT within 60 seconds of launch

this is my code:
index.js:

const TelegramBot = require('node-telegram-bot-api');

// replace the value below with the Telegram token you receive from @BotFather
const token = 'xxxxxxxxxxxxxxxxxxxxxxx';

var bot= new TelegramBot(token,{polling: true}); 

// Matches "/echo [whatever]"
bot.onText(/\/echo (.+)/, (msg, match) => {
    // 'msg' is the received Message from Telegram
    // 'match' is the result of executing the regexp above on the text content
    // of the message

    const chatId = msg.chat.id;
    const resp = match[1]; // the captured "whatever"

    // send back the matched "whatever" to the chat
    bot.sendMessage(chatId, resp);
});

// Listen for any kind of message. There are different kinds of
// messages.
bot.on('message', (msg) => {
    const chatId = msg.chat.id;

    // send a message to the chat acknowledging receipt of their message
    bot.sendMessage(chatId, 'Received your message');
});

package.json:

{
  "name": "bot-telegram",
  "version": "1.0.0",
  "description": "",
  "main": "index.js",
  "scripts": {
    "start": "node index.js",
    "test": "echo \"Error: no test specified\" && exit 1"
  },
  "author": "",
  "license": "ISC",
  "dependencies": {
    "node-telegram-bot-api": "^0.30.0",
  }
}

How can I change the port?
Thanks in advance!

@ArraisLF
Copy link

Having the exact same issue, let me know if you find a workaround

@maheshsompalli
Copy link

Please try webhook like this:
webhook: {
url: process.env.APP_URL || 'your app url from heroku',
port: process.env.PORT || 5000
}

like :
webhook: {
url: process.env.APP_URL || 'https://*****.herokuapp.com',
port: process.env.PORT || 5000
}

@dverma
Copy link

dverma commented Sep 11, 2018

Heroku requires you to use the env variable port, like so:

const Telegram = require('telegram-node-bot');
const tg = new Telegram.Telegram(BOT_API_TOKEN,{
webAdmin: {
port: process.env.PORT
}
});

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants