Я пытаюсь завершить телеграмм-бот, который после нескольких команд ответит сообщением ... У меня нет надежды на то, что я смогу решить это в одиночку.Эти команды с предопределенным сообщением сделаны и работают как шарм. Но теперь я застрял в команде / price, которая должна показывать ценность монеты в сообщении от интерфейса coinmarket API.
Я перепробовал много вариантов, но следующие результатывсегда вызывается для ошибки API Call: или сообщение типа [объект объекта] ..
ALQO: $0.0443407142 | 9.73% ?
ETH: 0.000313592 | 10.14% ?
BTC: 0.0000107949 | 9.5% ?
Cap: $2,545,718
Этот текст является правильным ответом от бота ... К сожалению, с бесплатным API от CMC я могу сделать только цену с долларом США, поэтомуправильный ответ должен быть
Coinname: Price | Change%
Cap: Marketcap
Мой код команды / price
//This is /price command code
'use strict';
const Telegram = require('telegram-node-bot');
const rp = require('request-promise');
const requestOptions = {
method: 'GET',
uri: 'https://pro-
api.coinmarketcap.com/v1/cryptocurrency/quotes/latest?
id=3501&convert=USD',
headers: {
'X-CMC_PRO_API_KEY': 'MYFREEAPIKEYFROMCMC'
},
json: true,
gzip: true
};
rp(requestOptions).then(response => {
console.log('API call response:', response['data'][3501]);
}).catch((err) => {
console.log('API call error:', err.message);
});
class PriceController extends Telegram.TelegramBaseController {
PriceHandler($) {
rp(requestOptions).then(response => {
console.log('API call response:', response['data'][3501]);
$.sendMessage('Cryptosoul: price', response['data']['USD']['price']
[3501]);
}).catch((err) => {
$.sendMessage('API call error:', err.message);
});
}
get routes() {
return {
'priceCommand': 'PriceHandler'
};
};
}
module.exports = PriceController;
Ответ от API после узла index.js (включение бота, (сообщение от терминала Visual Studio)
API call response: { id: 3501,
name: 'CryptoSoul',
symbol: 'SOUL',
slug: 'cryptosoul',
circulating_supply: 143362580.31,
total_supply: 499280500,
max_supply: null,
date_added: '2018-10-25T00:00:00.000Z',
num_market_pairs: 3,
tags: [],
platform:
{ id: 1027,
name: 'Ethereum',
symbol: 'ETH',
slug: 'ethereum',
token_address: '0xbb1f24c0c1554b9990222f036b0aad6ee4caec29' },
cmc_rank: 1194,
last_updated: '2019-04-01T23:03:07.000Z',
quote:
{ USD:
{ price: 0.000188038816143,
volume_24h: 11691.5261174775,
percent_change_1h: 0.29247,
percent_change_24h: 0.0222015,
percent_change_7d: 4.69888,
market_cap: 26957.72988069816,
last_updated: '2019-04-01T23:03:07.000Z' } } }
Сообщения, которые появляются после команды / price, вызвали «Ошибка вызова API:» «[object object]» «Ошибка при запуске узла index.js (неверный код)» Чат с ботом