Бот Telegram неожиданно заканчивается - PullRequest
0 голосов
/ 06 января 2019

Пытаясь создать моего первого бота для телеграмм, во всех примерах и инструкциях это выглядит очень просто и легко повторяется. Тем не менее, мой бот не работает вообще. Во-первых, я из России и телеграмма API заблокирована, поэтому мне нужно использовать прокси. Взял один из https://www.socks -proxy.net / . Получил токен от BotFather. Теперь, когда я запускаю свой скрипт telegraf.js:

const Telegraf = require('telegraf');
const SocksAgent = require('socks5-https-client/lib/Agent');
const socksAgent = new SocksAgent({
   socksHost: '103.206.97.70',
   socksPort: 4145,
});
const bot = new Telegraf(MY_TOKEN, {
telegram: {
    agent: socksAgent,
}
});
bot.hears('hi', ctx => {
   return ctx.reply('Hey!');
});
bot.startPolling();

ничего не происходит и программа завершена enter image description here.

enter image description here

Я понимаю, что проблема в моей конфигурации прокси, но не могу понять, что именно не так.

1 Ответ

0 голосов
/ 06 января 2019

Проблема была в прокси. Я использовал https-proxy-agent вместо socks5-https-client

import Telegraf from 'telegraf';
import config from 'config';
import HttpsProxyAgent from 'https-proxy-agent';

const TOKEN = config.get('token');
const proxy = config.get('proxy');

const bot = new Telegraf(TOKEN, {
    telegram: {
        agent: new HttpsProxyAgent({
            host: proxy.host,
            port: proxy.port
        })
    },
});

bot.hears('hi', ctx => {
    return ctx.reply('Hey!');
});
bot.startPolling();
...