我正试图制造一个从info.json文件中接收信息的机器人,并将其以丰富的形式嵌入到Discord Channel中。
我一直遇到的问题,似乎我自己找不到解决方案,是我的JSON信息文件包含大量需要使用“前缀+播放器名称”命令访问的数组。 / p>
JSON中的数组示例:
{
"playername": "riky",
"age": 20,
"height": 172
}
因此,当某人想要使用riky
命令进行搜索时,例如,prefix + riky
,机器人应将riky包含的所有信息放在最前面:age
,{{ 1}}等。
有人可以帮助我吗?
答案 0 :(得分:0)
我用fs来获取您的json文件。我做一个for循环来遍历所有json数组并搜索您在命令中输入的播放器名称。如果漫游器找到具有此玩家名称的数组,他将年龄和身高分配给新变量。
此后,您可以创建RichEmbed并将其发送到频道中。
尝试使用以下代码:
const fs = require('fs');
const Discord = require('discord.js');
const jsonFile = fs.readFile('PATH of your JSON');
const playerName = msg.content.split(' ').slice(1);
let age;
let hight;
for (var i = 0; i < jsonFile.length; i++) {
if (jsonFile[i].playername === playerName) {
age = jsonFile[i].age;
hight = jsonFile[i].hight;
}
}
if (!age || !height) return message.channel.send('Couldn\'t find this player!');
const embed = new Discord.RichEmbed()
.setTitle(playername)
.addField('Age', age)
.addField('Hight', hight);
message.channel.send({ embed });