JSON-stringify reply_markup when it is sent in qs

experimental
Mikhail Burshteyn 10 years ago committed by GochoMugo
parent 618555101f
commit ec354925d6
  1. 15
      src/telegram.js

@ -141,6 +141,14 @@ class TelegramBot extends EventEmitter {
}
}
_fixReplyMarkup(obj) {
const replyMarkup = obj.reply_markup;
if (replyMarkup && typeof replyMarkup !== 'string') {
// reply_markup must be passed as JSON stringified to Telegram
obj.reply_markup = JSON.stringify(replyMarkup);
}
}
// request-promise
_request(_path, options = {}) {
if (!this.token) {
@ -148,11 +156,10 @@ class TelegramBot extends EventEmitter {
}
if (options.form) {
const replyMarkup = options.form.reply_markup;
if (replyMarkup && typeof replyMarkup !== 'string') {
// reply_markup must be passed as JSON stringified to Telegram
options.form.reply_markup = JSON.stringify(replyMarkup);
this._fixReplyMarkup(options.form);
}
if (options.qs) {
this._fixReplyMarkup(options.qs);
}
options.url = this._buildURL(_path);
options.simple = false;

Loading…
Cancel
Save