#javascript #node.js #json #string #https
#javascript #node.js #json #строка #https
Вопрос:
Я попытался создать команду random words, и я также новичок в этом Discord js. Так что … извините за мой плохой вонючий код. Мой код
const discord = require('discord.js')
module.exports = {
commands: 'randomWords',
minArgs: 1,
maxArgs: 1,
expectedArgs: '<Number>',
callback: async (message, arguments, text, client) => {
const request = require('request');
const https = require('https');
if (!isNaN(arguments[0])) {
var url = `https://random-word-api.herokuapp.com/word?number=${arguments[0]}`
} else {
message.channel.send("Please input a number. ex. 24")
}
// Get data from link
https.get(url, resp => {
let data = '';
// chunk of data been received
resp.on("data", chunk => {
data = chunk
})
resp.on("end", () => {
let dataIn = JSON.parse(data);
var dataInString = dataIn.toString()
var datas = dataInString.replace(/,/g, " ")
// here you add a new line every 2 words or 3 words
console.log("nnn" datas "nnn")
// i know i suck at this, but my terminal was very filled and so confused reading so added spaces
// send the message
const embed = new discord.MessageEmbed()
.setAuthor(`Random Words: ${arguments[0]}`)
.setDescription(`this right here is supposed to be advertisement, so i deleted it for stack overflow nWord Separated by spaces`)
.addFields(
{ name: "Words:", value: datas },
{name: "Invite Bot Below", value: "invite bot advertisement blocked"}
)
message.channel.send(embed)
})
})
}
}
Проблема в обратном вызове, обработчик команды не имеет значения
Проблема примерно в строке 38
Очень признателен, если вы мне помогли 🙂 Спасибо
Ответ №1:
let words = ["hello", "test", "ice", "cream", "fast", "food"];
let str = "";
for(var i = 0; i < words.length; i ) {
if(i % 2 === 0) str = words[i] " ";
else str = words[i] "n";
}
console.log(str);
Возможно, этот пример поможет вам решить вашу проблему. Цикл for выполняет итерацию по массиву. Если i
это равное число, он просто выводит значения без новой строки. В противном случае, если i
число не равно, оно выводит значение, но с новой строкой.
Результатом этого является:
hello test
ice cream
fast food