Как добавить какой-либо объект в sendMessage или добавить этот объект в Extra в библиотеке telegraf.js - PullRequest
0 голосов
/ 25 марта 2019

У меня есть бот telegram, использующий библиотеку telegraf.js. У меня есть несколько пользователей, которые были зарегистрированы в боте, и я хочу отправить подтверждение какого-либо согласия от одного пользователя другому. Для этого мне нужно добавить sendMessage некоторые acceptId , но я не знаю, как!

(это псевдокод, здесь я показываю свое воображение, как это может работать)

bot.action('createContract', ctx => {
    // we have some consent object from sequlize with right id
    const consent = {
        id          : uuid4(),
        status      : 'PENDING',
        initiatorId : uuid4(),
        consonantId : uuid4()
    };

    sequelize.model.User.findByPk(consent.consonantId).then(user => {
        // here i need add consentId to sendMessage but not show it to user
        ctx.telegram.sendMessage(
            user.chatId,
            'Do you confirm ....',
            Extra.HTML().markup((m) =>
                m.inlineKeyboard([
                    m.callbackButton('sign', 'sign'),
                    m.callbackButton('decline', 'decline')
                ]))
        );
    });
});


bot.action('sign', ctx => {
    // here we must a get consentId that we add in createContract action
    sequelize.model.Consent.findByPk(ctx.consentId).then(consent => {
        return consent.update({ status: 'SUCCESS' });
    });
});
...