@flabot

Бот вконтакте, кнопки и nodejs?

Всем привет, использую библиотеку node-vk-bot-api, но она не поддерживается
Кнопки, которые могут быть там использованы, это кнопки с типом текст, но вк обновляется и появились кнопки location, vkpay, open_app

Кнопки объявляются следующим образом:
let keyboard_toster = Markup.keyboard([
  [
    Markup.button('Первая кнопка', 'positive')
  ],
  [
    Markup.button('Вторая кнопка', 'negative')
  ]
])

Файл, которые отвечает за клавиатуры:
markup.js
const KEYBOARD_COLUMNS_MAX = 4;
 
class Markup {
  keyboard(buttons, options = { columns: KEYBOARD_COLUMNS_MAX }) {
    this.__keyboard = {
      buttons: Array.isArray(buttons[0])
        ? buttons
        : buttons.reduce((array, label) => {
          const button = Markup.button(label);
          const buttons = array.length ? array[array.length - 1] : array[0];
 
          if (buttons && buttons.length < options.columns) {
            buttons.push(button);
          } else {
            array.push([button]);
          }
 
          return array;
        }, []),
    };
 
    return this;
  }
 
  oneTime(value = true) {
    this.__keyboard.one_time = value;
 
    return this;
  }
 
  toJSON() {
    return JSON.stringify(this.__keyboard);
  }
 
  static keyboard(keyboard, options) {
    return new Markup().keyboard(keyboard, options);
  }
 
  static button(label, color = 'default', payload = { button: label }) {
    if (typeof label === 'object') {
      return label;
    }
 
    return {
      action: {
        type: 'text',
        payload: JSON.stringify(payload),
        label,
      },
      color,
    };
  }
}
 
module.exports = Markup;


Мне нужно, каким-то образом добавить поддержку хотя бы open_app в данную библиотеку
Всё это делается не в коммерческих целях, так что прошу помощи людей с тостера, хелп ми :c
  • Вопрос задан
  • 626 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы