arrays - 尝试将来自 API 的 JSON 数据显示为数组
问题描述
所以我一直在尝试在 Node.js 中创建一个 Discord Bot,我从外部 api 获取数据并使用 BOT 来显示数据,问题是当我调用该函数时,它会一一显示而不是所有内容一条消息。我想在一条消息中显示所有内容。
const token = 'my discord token is here';
const Discord = require('discord.js');
const axios = require('axios');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`)
})
client.on('message', async msg => {
if (msg.content === '!inventario') {
let getInv = async () => {
let response = await axios.get('my api link where im getting the info is here')
let inventario = response.data
return inventario
}
let inventarioValue = await getInv ()
var inv = inventarioValue.total_inventory_count
msg.channel.send(`Total de Itens no inventário: ${inventarioValue.total_inventory_count} \nSkins:\n`);
for (var i=0;i<inv;i++)
{
var itens = inventarioValue.descriptions[i].market_name
msg.channel.send(itens);
}
}
});
client.login(token);
我想执行这个 inventarioValue.descriptions[i].market_name,然后在执行后显示完整结果而不是一一显示。
谢谢
解决方案
您可以映射对象数组元素并添加到消息中。为了获得更好的视觉反射,您可以将它们添加到嵌入中。
const token = 'my discord token is here';
const Discord = require('discord.js');
const axios = require('axios');
const client = new Discord.Client();
client.on('ready', () => {
console.log(`Logged in as ${client.user.tag}!`)
})
client.on('message', async msg => {
if (msg.content === '!inventario') {
let getInv = async () => {
let response = await axios.get('my api link where im getting the info is here')
let inventario = response.data
return inventario
}
let inventarioValue = await getInv()
var inv = inventarioValue.total_inventory_count
let embed = new Discord.MessageEmbed()
embed.setDescription(`${inventarioValue.descriptions.map(val => val.market_name).join('\n')}`)
msg.channel.send(`Total de Itens no inventário: ${inventarioValue.total_inventory_count} \nSkins:\n`, embed);
}
});
client.login(token);
推荐阅读
- excel - 将 xls 转换为 xlsx 的 Perl 脚本正在生成空白 xlsx 和错误消息
- python - Python 类型提示在方法签名中返回 None - 它有用吗?
- javascript - 使用 @unform 和 react-datepicker 破坏编辑屏幕的 Datepicker 组件
- javascript - 过滤器返回一切但应该只返回一些
- terraform - Terraform 社区提供者是否被视为第三方?
- python - 如何使用python在excel中获取特定列/单元格的水平值
- sql - 如何在 T_SQL 中跨多行连接文本
- vue.js - vuejs中v-for元素中的动态插值计算方法名称
- javascript - 创建一个生成以下划线开头的文件的自定义 Angular 示意图?
- c - 拆分导入 C 库的 Golang 代码时遇到问题