Помогите с построением логики скрипта

131
22 февраля 2019, 15:40

Пишу бота телеграм, скрипт парсит json и возвращает данные, но т.к json немного кривой, приходится парсить разными запросами. Есть 2 куска кода:

// FOR RKT и // FOR WAVES

Если использовать их по отдельности - все работает, если вместе - нет.

Как сделать проверку на то, какая кнопка нажимается в боте и что именно передается в callback_data, и в зависимости от этого вызвать и обработать нужный кусок кода?

Буду очень признателен, кто сможет помочь

bot.onText(/\/price/, (msg, match) => {
  const chatId = msg.chat.id;
    bot.sendMessage(chatId, 'Выберите монету', {
        reply_markup: {
            inline_keyboard: [
                [
                    {
                        text: 'RKT8',
                        callback_data: 'rkt8'
                    }, {
                        text: 'WAVES',
                        callback_data: 'WAVES/USD'
                    }
                ]
            ]
        }
    });
});

// FOR RKT
bot.on('callback_query', query => {
    const id = query.message.chat.id;
    request('https://marketdata.wavesplatform.com/api/markets', function(error, response, body) {
        const data = JSON.parse(body);
        const result = data.filter(item => item.amountAssetName === query.data)[1];
        let md = `
            * ${result.amountAssetName.toUpperCase()}/${result.priceAssetID} *
            Покупка: _${result['24h_high']}_
            Продажа: _${result['24h_low']}_
        `;
        bot.sendMessage(id, md, {parse_mode: 'Markdown'});
    })
})
// FOR WAVES
bot.on('callback_query', query => {
    const id = query.message.chat.id;
    request('https://marketdata.wavesplatform.com/api/markets', function(error, response, body) {
        const data = JSON.parse(body);
        const result= data.filter(item => item.symbol === query.data)[0];
        let md = `
            * ${result.symbol} *
            Покупка: _${result['24h_high']}_
            Продажа: _${result['24h_low']}_
        `;
        bot.sendMessage(id, md, {parse_mode: 'Markdown'});
    })
})
READ ALSO
PIXI js и css transform

PIXI js и css transform

Всем привет! На данный момент учу PIXI, есть вопросДопустим, у нас есть canvas элемент, управляемый pixi

176
Запуск сайта на сервере node js

Запуск сайта на сервере node js

Такой вопросЕсть сайт, запускаю его на сервере node js

130
DataTable fixed column горизонтальный скролл

DataTable fixed column горизонтальный скролл

Фиксированные два ряда левый и правый крайний, но правый фиксированный ряд имеет отступ от правого края, я думаю из-за вертикального скролла,...

153