Javascript Discord.js(节点)中的请求不正确,无法找到导致该请求的原因
我在Discord.js(Node)中编写了一个bot,我正在尝试发送一个带有服务器信息的嵌入,我已经得到了所有的代码,但它一直导致一个错误的请求,我已经尝试了我知道的一切,代码如下:Javascript Discord.js(节点)中的请求不正确,无法找到导致该请求的原因,javascript,node.js,discord,Javascript,Node.js,Discord,我在Discord.js(Node)中编写了一个bot,我正在尝试发送一个带有服务器信息的嵌入,我已经得到了所有的代码,但它一直导致一个错误的请求,我已经尝试了我知道的一切,代码如下: var FieldsData = [{ name: "Channels", value: msg.guild.channels.size }, { name: "Emojis", value: msg.guild.emojis.size }, { name: "Members", value: msg.guild
var FieldsData = [{ name: "Channels", value: msg.guild.channels.size }, { name: "Emojis", value: msg.guild.emojis.size }, { name: "Members", value: msg.guild.members.size }, { name: "Owner", value: msg.guild.owner }, { name: "Roles", value: msg.guild.roles.size }, { name: "Region", value: msg.guild.region }, { name: "Id", value: msg.guild.id }, { name: "Icon", value: msg.guild.iconURL }, { name: "Created At", value: msg.guild.createdAt }];
msg.channel.send('', {
embed: {
color: 37119,
title: "Server info for " + msg.guild.name,
fields: FieldsData
}
});
我用一个字段尝试了这个消息,它很有效,
我已经试过了,每个领域都可以独立使用,而且效果很好
但是当我把它们放在一起的时候,他们提出了一个不好的要求,
我检查了每一行,每一个字符,我只是
被可能导致这一切的原因难住了,
最大字段是25,我没有那么多,
所有变量都有效,没有一个生成“Null”或“Undefined”,
我尝试过不同的代码布局设置,
我尝试过添加/删除部件、编辑部件、替换位
到处都是,但毫无用处,我根本无法让它工作
我花了两个小时试图弄明白这一点,我在网上搜索过,文档等等
请注意:我的javascript没有那么先进,所以如果我犯了一个大错误,请不要感到惊讶
“msg”是消息的对象,例如:
Bot.on('message', function (msg) { /*Stuff*/ });
我希望我已经充分解释了这一点,我在发布本文时使用的是Discord.js的最新版本,并且我没有使用任何其他扩展、软件包等简短回答:
现在,不要在我说了这些之后就忽略了这篇文章(实际上阅读了我的理由,全部内容),但请使用Rich-Embed
长答覆: 首先,我强烈建议使用
Rich embeddes
,因为它更易于使用和编辑。无论如何,这里:
第一个建议来自您的消息事件。在ES6中,我们现在有箭头函数,它看起来像(arg1,arg2)=>{doSomething();}
,使用这个新功能,消息事件处理程序应该更像这样:
client.on('message', msg => {
//Do my thing with that msg object
});
现在回到正题
“+msg.guild.name
的服务器信息是不允许的。我不知道为什么,但当我试图使用一个变量来显示我的机器人版本时,它也给了我一个错误。因此,如果要修复此问题,您有两个选项:
- 建议:使用富嵌入
- 不推荐:改用`${myVar}`代替(未测试)
(“”,
您只需执行msg.channel.send({embed:{}})msg.channel.send({
embed: {
color: 37119,
title: "Server info for " + msg.guild.name,
fields: [{name: "Channels", value: msg.guild.channels.size}, { name: "Emojis", value: msg.guild.emojis.size }, { name: "Members", value: msg.guild.members.size }, { name: "Owner", value: msg.guild.owner }, { name: "Roles", value: msg.guild.roles.size }, { name: "Region", value: msg.guild.region }, { name: "Id", value: msg.guild.id }, { name: "Icon", value: msg.guild.iconURL }, { name: "Created At", value: msg.guild.createdAt }]
}
});
非常重要的一点是: 现在,您没有给出任何不想使用
Rich-Embeds
的有效理由,因为Rich-embed也是一个对象;-;所以只需使用Rich-embed即可
我有需要使用对象的脚本,它们是预先制作的
我想知道如果你的嵌入没有存储,你如何访问它……非常有趣。尝试使用
RichEmbed
instead@Wright我不想使用RichEmbed,我想使用默认的Embed为什么不呢?我有需要使用对象的脚本,它们是预先制作的,我想使用默认的Embed还有其他原因