题记
- 最近 因为加密市场价格变化迅速,还经常半夜去出现各种诡异行情。干脆直接弄一个行情获取,自动通知。因为一些原因就没弄主流的行情网站。直接用小众的
mytokencap
获取行情,然后用飞书行情推送。几行node.js
代码就搞定了。
步骤与代码
安装
- 一般首先需要安装一个
nodejs
,官网下载就行。 - 安装关键库
axios
npm install axios --save
- 一般首先需要安装一个
代码
- 首先是获取行情代码。主要是利用
mytokencap
的API链接https://api.mytokenapi.com/currency/kline?com_id
的获取单个token的K线价格。
- 首先是获取行情代码。主要是利用
function gettoday(coinname){
let today=new Date().getTime()
let last=Math.floor(today/1000)
return "https://api.mytokenapi.com/currency/kline?com_id="+coinname+"_usdt&symbol="+coinname+"&anchor=USDT&time="+last+"&market_id=338&period=1d×tamp=1674739035146&code=ebc161c4c01e448626c3cc30518009d6&platform=web_pc&v=1.0.0&language=en_US&legal_currency=USD"
}
async function getcoin() {
const coinnames = ['BTC', 'ETH', 'BCH','dogecoin','ton309','sui296','hive653','APT530', 'tron', 'solana', 'ARB248','OP450','XLM','UNI226'];
const coinPromises = coinnames.map((coinName) => {
return axios({
method: 'get',
url: gettoday(coinName),
headers: {
'Content-Type': 'application/json',
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/116.0.0.0",
}
}).then((res) => {
const price = coinName.match(/.*[a-zA-Z]/) + ':' + res.data.data.kline[0].close + '\n';
return price;
});
});
return Promise.all(coinPromises).then((coinPrices) => {
return coinPrices.join('');
});
}
- 通知飞书行情代码:
const axios = require('axios');
async function sendMessageToFeishu(accessToken, message, chatId) {
try {
const response = await axios.post(
`https://open.feishu.cn/open-apis/message/v4/send/`,
{
chat_id: chatId,
msg_type: "text",
content: {
text: message
}
},
{
headers: {
'Authorization': `Bearer ${accessToken}`,
'Content-Type': 'application/json'
}
}
);
console.log('Message sent successfully:', response.data);
} catch (error) {
console.error('Failed to send message:', error);
}
}
const testjob =async function(){
const price=await getcoin()
await sendMessageToFeishu(accessToken, price, 'oc_e9dxxxxxxxx');
};
End
只是简单一个测试用例,如果需要复杂应用,还可以进行其他定制。