我在server.js文件中有以下代码块:
const Telegram = require('telegram-node-bot')
const tg = new Telegram.Telegram('***********token**************',{
workers:1
});
const pingController = require('./controllers/ping')
,otherwiseController = require('./controllers/otherwise')
tg.router.when(new Telegram.TextCommand('/ping','pingCommand'), new pingController())
.otherwise(new otherwiseController());
以及ping.js文件中的以下代码块:
const Telegram = require('telegram-node-bot');
class pingController extends Telegram.TelegramBaseController{
pingHandler($){
$.sendMessage('pong');
}
get routes() {
return{
'pingCommand': 'pingHandler'
};
}
}
module.exports = pingController;
最后,在否则文件中包含以下代码块:
const Telegram = require('telegram-node-bot');
class otherwiseController extends Telegram.TelegramBaseController{
handler($){
$.sendMessage('Sorry!!!')
}
}
module.exports = otherwiseController;
当我运行node server.js时,我得到的错误信息如下:
网络错误: error: connect ETIMEDOUT 149.154.167.220:443 at Object._errnoException (util.js:1031:13) at _exceptionWithHostPort (util.js:1052:20) at TCPConnectWrap.afterConnect as oncomplete request TelegramApiRequest { _method:'setWebhook',_params:{ url:'‘},_multipart: undefined }
另外,电报在我们国家被过滤了!,我使用的是虹吸3代理。
发布于 2018-05-26 02:28:28
这是因为您尚未为您的终端/cmd设置代理
对于Linux:
export http_proxy='http://proxyserveraddress:3128'
export https_proxy='https://proxyserveraddress:3128'
对于Wndows:
set HTTP_PROXY=http://proxyserveraddress:3128
set HTTPS_PROXY=https://proxyserveraddress:3128
发布于 2018-06-03 06:32:18
您可以在socks5-https-client库中使用SOCKS5代理。示例:
const TelegramBot = require('node-telegram-bot-api')
const Agent = require('socks5-https-client/lib/Agent')
const bot = new TelegramBot(process.env.TELEGRAM_API_TOKEN, {
polling: true,
request: {
agentClass: Agent,
agentOptions: {
socksHost: process.env.PROXY_SOCKS5_HOST,
socksPort: parseInt(process.env.PROXY_SOCKS5_PORT),
// If authorization is needed:
// socksUsername: process.env.PROXY_SOCKS5_USERNAME,
// socksPassword: process.env.PROXY_SOCKS5_PASSWORD
}
}
})
这个解决方案可以继续在你的本地PC上开发机器人(没有代理,你就不能启动来自伊朗和俄罗斯的机器人),它是有效的。
https://stackoverflow.com/questions/50534750
复制相似问题