javascript - Discord Bot - 设置嵌入表/列表,内容分为多个部分
问题描述
我仍在学习 Javascript 等,进入 discord.js,所以我很确定我输入的代码绝对错误,肯定需要工作。
本质上,我要做的是拆分命令的参数并将它们分成嵌入的新行。
例如,如果我要这样做:!results "Result 1" "Result 2" "Result 3"
它会输出到一个嵌入的表格中:
RESULTS:
Result 1
Result 2
Result 3
相反,我的输出不断出现:
我在谷歌上搜索过各种不同的东西,但我似乎找不到我需要的东西。
const { RichEmbed } = require("discord.js");
module.exports = {
name: "results",
category: "info",
description: "posts results in embed",
usage: "<mention, id>",
run: async (client, message, args) => {
if (message.deletable) message.delete();
let [result1, result2, result3, result4, result5, result6, result7] = args;
if (!args[0])
return message.channel.send("Please provide Result 1.").then(m => m.delete(5000));
if (!args[1])
return message.channel.send("Please provide Result 2.").then(m => m.delete(5000));
if (!args[2])
return message.channel.send("Please provide Result 3.").then(m => m.delete(5000));
if (!args[3])
return message.channel.send("Please provide Result 4.").then(m => m.delete(5000));
if (!args[4])
return message.channel.send("Please provide Result 5.").then(m => m.delete(5000));
if (!args[5])
return message.channel.send("Please provide Result 6.").then(m => m.delete(5000));
if (!args[6])
return message.channel.send("Please provide Result 7.").then(m => m.delete(5000));
const channel = message.guild.channels.find(c => c.name === "cards")
if (!channel)
return message.channel.send("Couldn't find a `#cards` channel").then(m => m.delete(5000));
const embed = new RichEmbed()
.setColor("RANDOM")
.setTimestamp()
.setAuthor("Posted by GM:", (message.author.username, message.author.displayAvatarURL))
.setTitle("**TestTitle**")
.setFooter(message.guild.name, message.guild.iconURL)
.setDescription(`**__Results!__**`)
.addField(`**> Result 1:** ${result1}`)
.addField(`**> Result 2:** ${result2}`)
.addField(`**> Result 3:** ${result3}`)
.addField(`**> Result 4:** ${result4}`)
.addField(`**> Result 5:** ${result5}`)
.addField(`**> Result 6:** ${result6}`)
.addField(`**> Result 7:** ${result7}`);
return channel.send(embed);
}
}
编辑:我取得了一些进展,这是最新的代码,这是输出:
解决方案
您正在添加一个字段,该字段同时需要标题和值。但你只是给它一个价值。我建议只使用描述字段并用新行分隔你的东西。它通常会看起来更好。请务必记住,描述字段最多只能包含2048 个字符。
这是您可以查看的指南: https ://discordjs.guide/popular-topics/embeds.html#embed-preview
推荐阅读
- loops - 汇编语言,检查数字是否可被 2 整除并在循环中打印数字的程序
- javascript - 是否可以通过在没有范围变量的 angularjs 中使用方法来显示数据
- spring - Spring 集成元数据存储
- javascript - 在 ionRangeSlider 中添加 onChange 事件延迟
- java - 如何在我的 jsp 页面上使用计数查询显示函数的结果?
- c - 运行 for 循环时的奇怪输出
- flutter - Flutter SizeTransition 和 PageRouteBuilder 不起作用
- angularjs - 'protractor' 不是内部或外部命令、可运行程序或批处理文件
- ios - 有权在 Swift 中读取视频文件但不能读取图像文件?
- python - Python/scrapy 嵌套的 for/if 循环工作不正确