JSON-stringify reply_markup when it is sent in qs

experimental
Mikhail Burshteyn 10 years ago committed by GochoMugo
parent 618555101f
commit ec354925d6
  1. 17
      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-promise
_request(_path, options = {}) { _request(_path, options = {}) {
if (!this.token) { if (!this.token) {
@ -148,11 +156,10 @@ class TelegramBot extends EventEmitter {
} }
if (options.form) { if (options.form) {
const replyMarkup = options.form.reply_markup; this._fixReplyMarkup(options.form);
if (replyMarkup && typeof replyMarkup !== 'string') { }
// reply_markup must be passed as JSON stringified to Telegram if (options.qs) {
options.form.reply_markup = JSON.stringify(replyMarkup); this._fixReplyMarkup(options.qs);
}
} }
options.url = this._buildURL(_path); options.url = this._buildURL(_path);
options.simple = false; options.simple = false;

Loading…
Cancel
Save