代码之家  ›  专栏  ›  技术社区  ›  kliukovking

电报机器人意外结束

  •  1
  • kliukovking  · 技术社区  · 5 年前

    尝试着做我的第一个电报机器人,在所有的例子和说明中,它看起来非常简单和容易重复。但是,我的机器人根本不工作。首先,我来自俄罗斯,电报API被屏蔽,所以我需要使用代理。从一个 https://www.socks-proxy.net/ . 从botfard那里得到了令牌。现在当我运行脚本时 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 回复  |  直到 5 年前
        1
  •  0
  •   kliukovking    5 年前

    问题出在代理服务器上。我用过 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();