我的目标是通过Mojang API从Minecraft用户名获取uuid
,然后通过Hypixel Skyblock API运行它。我的问题是我不能在JSON.stringify
中使用变量${jsonsbid.id}
。我对编码很陌生,似乎无法让它工作。
我使用Discord.js API将JSON结果作为消息发送出去。
import { key } from './config.json';
client.on('message', message => {
const prefix = '!skyblock ';
const skyblock = message.content.slice(prefix.length);
const fetch = require('node-fetch');
if (!message.content.startsWith(prefix) || message.author.bot) return; {
try {
fetch(`https://api.mojang.com/users/profiles/minecraft/${skyblock}`)
.then(response => response.json())
.then(jsonsbid => fetch(`https://api.hypixel.net/Skyblock/profiles?uuid=${jsonsbid.id}&key=${key}`))
.then(responsesb => responsesb.json())
.then(jsonsb => message.channel.send(`Coins: ${JSON.stringify(jsonsb.profiles[0].members.${jsonsbid.id}.coins_purse)}`)) //this is the line i need to get working
} catch (err) {
message.channel.send('A error occured')
}
};
字符串
我希望你能帮助我,这样我就可以学习更多关于编码和JS的知识。
1条答案
按热度按时间pwuypxnk1#
您可以在bot中创建一个名为
jsonsbidCache
的缓存,它通过键skyblock
存储jsonsbid
JSON结果。然后您可以在最后的.then
调用中访问它。如果你只需要引用
jsonsbid.id
,那么你可以修改它来只缓存id
值。字符串