Discord.js(节点)中的错误请求并且无法找出导致它的原因
Posted
技术标签:
【中文标题】Discord.js(节点)中的错误请求并且无法找出导致它的原因【英文标题】:Bad Request in Discord.js (Node) and cant find out whats causing it 【发布时间】:2017-10-12 19:12:30 【问题描述】:我在 Discord.js (Node) 中编写一个机器人,我正在尝试发送一个包含服务器信息的嵌入,我已经获得了所有代码,但它一直导致错误请求,我已经尝试了我所知道的一切这是代码:
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,我没有那么多, 所有变量都是有效的,没有一个产生“空”或“未定义”, 我尝试了不同的代码布局设置, 我试过添加/删除部件、编辑部件、替换位 到处都是,但无济于事,我根本无法让它工作。
我已经尝试了 2 个小时来解决这个问题,我已经在网上搜索过,文档等
请注意:我对 javascript 的了解并不高,所以如果我犯了一个大错误,请不要感到惊讶。
“msg”是消息的对象,例如:
Bot.on('message', function (msg) /*Stuff*/ );
我希望我已经对此进行了充分的解释,在发布此内容时我使用的是最新版本的 Discord.js,并且我没有使用任何其他扩展、包等
【问题讨论】:
尝试改用RichEmbed
@Wright 我不想使用 RichEmbed,我想使用默认嵌入
你为什么不呢?
我有需要使用对象的脚本,它们是预制的
因为其他原因我想使用默认嵌入
【参考方案1】:
简短回答:
现在,不要在我说完后就忽略这篇文章(实际上阅读我的理由,整件事),但请使用Rich Embed
长答案:
首先,我强烈建议使用Rich Embeds
,因为它更易于使用和编辑。无论如何,这里:
第一个建议来自您的消息事件。在 ES6 中,我们现在有类似 (arg1, arg2) => doSomething();
的箭头函数,并且使用这个新特性,您的消息事件处理程序应该看起来更像这样:
client.on('message', msg =>
//Do my thing with that msg object
);
现在回到正题。
对象很奇怪 k?我相信:"Server info for " + msg.guild.name
是不允许的。我不知道为什么,但是当我尝试使用变量来显示我的机器人版本时,它也给了我一个错误。所以如果你想解决这个问题,你有两个选择:
不要过于复杂。这是什么:('',
你可以做 msg.channel.send(embed:);
您不只是为了变量而使用变量。使用 FieldsData 有什么意义?它只使用一次,你为什么不能这样做:
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
的任何正当理由,因为富嵌入也是一个对象。 ;-;因此,只需使用丰富的嵌入。
我有需要使用对象的脚本,它们是预制的
我想知道如果嵌入未存储,您如何访问它......非常有趣。
【讨论】:
以上是关于Discord.js(节点)中的错误请求并且无法找出导致它的原因的主要内容,如果未能解决你的问题,请参考以下文章
无法安装 discord.js / 找不到模块 discord.js
Discord.js:错误:更新到 v13 后“找不到模块 'node:events'”