Don't merge yet: Keep on listening to Telegram's updates even if requests with telegram server fail #40
@ -1,13 +1,18 @@
|
||||
export default function poll(bot) {
|
||||
return bot.api.getUpdates(bot.update).then(response => {
|
||||
if (!response.result.length) {
|
||||
return poll(bot);
|
||||
}
|
||||
bot.emit('update', response.result);
|
||||
return bot.api.getUpdates(bot.update)
|
||||
.then(response => {
|
||||
if (!response.result.length) {
|
||||
return poll(bot);
|
||||
}
|
||||
bot.emit('update', response.result);
|
||||
|
||||
if (bot._stop) {
|
||||
return null;
|
||||
}
|
||||
return poll(bot);
|
||||
});
|
||||
if (bot._stop) {
|
||||
return null;
|
||||
}
|
||||
return poll(bot);
|
||||
})
|
||||
.catch(e => {
|
||||
bot.emit('error', e);
|
||||
return poll(bot);
|
||||
});
|
||||
}
|
||||
|
27
src/index.js
27
src/index.js
@ -75,17 +75,22 @@ export default class Bot extends EventEmitter {
|
||||
if (hook) {
|
||||
return webhook(hook, this);
|
||||
}
|
||||
return this.api.getMe().then(response => {
|
||||
this.info = response.result;
|
||||
return this.api.getMe()
|
||||
.then(response => {
|
||||
this.info = response.result;
|
||||
|
||||
this.on('update', this._update);
|
||||
this.on('update', this._update);
|
||||
|
||||
if (hook) {
|
||||
return webhook(hook, this);
|
||||
}
|
||||
if (hook) {
|
||||
return webhook(hook, this);
|
||||
}
|
||||
|
||||
return poll(this);
|
||||
});
|
||||
return poll(this);
|
||||
})
|
||||
.catch(e => {
|
||||
this.emit('error', e);
|
||||
throw e;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
@ -138,7 +143,11 @@ export default class Bot extends EventEmitter {
|
||||
* @return {unknown} returns the result of calling message's send method
|
||||
*/
|
||||
send(message) {
|
||||
return message.send(this);
|
||||
return message.send(this)
|
||||
.catch(e => {
|
||||
this.emit('error', e);
|
||||
throw e;
|
||||
});
|
||||
}
|
||||
|
||||
/**
|
||||
|
Loading…
Reference in New Issue
Block a user