这是我的代码,值始终未定义 https://cdn.discordapp.com/attachments/501784044649054231/509529437419732994/unknown.png
该代码应该是
!rebirth 1 1 1
它应该回复嵌入
集体现金1
生命币1
令牌1
exports.run = (_client, message, args) => {
let {Cash} = args[0]; // Remember arrays are 0-based!.
let {Tokens} = args[1];
let {LifeCoins} = args[2];
const Discord = require('discord.js')
var embed = new Discord.RichEmbed()
.setTitle("Rebirth")
.setAuthor("Author Name", `${message.author.avatarURL}`)
.setTimestamp()
.addField("Collective Cash", `${Cash}`)
.addField("Lifecoins", `${LifeCoins}`)
.addField("Tokens", `${Tokens}`)
.addBlankField(true)
message.channel.send({
embed
})
}
答案 0 :(得分:1)
exports.run = (_client, message, args) => {
let rest_of_the_string = message.content.slice('embed'.length); //removes the first part
let array_of_arguments = rest_of_the_string.split(' '); //[Cash LifeCoints Tokens]
const Discord = require('discord.js')
var embed = new Discord.RichEmbed()
.setTitle("Rebirth")
.setAuthor("Author Name", `${message.author.avatarURL}`)
.setTimestamp()
.addField("Collective Cash", array_of_arguments[0])
.addField("Lifecoins", array_of_arguments[1])
.addField("Tokens", array_of_arguments[2])
.addBlankField(true)
message.channel.send({
embed
})
}
尝试
答案 1 :(得分:0)
2 个问题:
第一个问题是最后一行:
message.channel.send({embed});
在JS中, {embed} 与 {embed:undefined} 相同,因为您没有指定任何值。
在 discord.js 中,只需执行 message.channel.send(embed)
即可。
第二个问题:
您在变量中使用了对象解构, 在您的代码中:
let {Cash} = args[0]; // Remember arrays are 0-based!.
let {Tokens} = args[1];
let {LifeCoins} = args[2];
等于
let Cash = args[0].Cash; // Remember arrays are 0-based!.
let Tokens = args[1].Tokens;
let LifeCoins = args[2].LifeCoins;
显然返回 undefined(没有“现金”属性)
相反,你应该这样做:
let Cash = args[0]; // Remember arrays are 0-based!.
let Tokens = args[1];
let LifeCoins = args[2];
代码现在应该是这样的:
exports.run = (_client, message, args) => {
let Cash = args[0]; // Remember arrays are 0-based!.
let Tokens = args[1];
let LifeCoins = args[2];
const Discord = require('discord.js')
var embed = new Discord.RichEmbed()
.setTitle("Rebirth")
.setAuthor("Author Name", `${message.author.avatarURL}`)
.setTimestamp()
.addField("Collective Cash", `${Cash}`)
.addField("Lifecoins", `${LifeCoins}`)
.addField("Tokens", `${Tokens}`)
.addBlankField(true)
message.channel.send(embed)