Javascript 调用命令,将嵌入的字段乘以 你好
我编写了一个简单的MessageEmbed函数(使用Discord.JS),每次调用它时,都会在通道中发送新的嵌入 (例如:如果embed应该有2个字段,那么下次调用该命令时,它将有2*2个必填字段。如果再次调用,则为3*2、4*2,等等) 当我重新启动bot时,它会重置。我试图重置嵌入值,但它没有影响问题。 你能帮我吗 这是我的JS命令:Javascript 调用命令,将嵌入的字段乘以 你好,javascript,discord,discord.js,Javascript,Discord,Discord.js,我编写了一个简单的MessageEmbed函数(使用Discord.JS),每次调用它时,都会在通道中发送新的嵌入 (例如:如果embed应该有2个字段,那么下次调用该命令时,它将有2*2个必填字段。如果再次调用,则为3*2、4*2,等等) 当我重新启动bot时,它会重置。我试图重置嵌入值,但它没有影响问题。 你能帮我吗 这是我的JS命令: module.exports={ 名称:“驱动器”, 执行(客户端、消息、参数、嵌入){ message.channel.send(嵌入) .setColo
module.exports={
名称:“驱动器”,
执行(客户端、消息、参数、嵌入){
message.channel.send(嵌入)
.setColor(“#0099ff”)
.setTitle('abcdedfg')
.setDescription('abcdedfg\n\u200B')
.set缩略图('abcdedfg')
addFields先生(
{name:'abcdedfg:',value:'link'},
{name:'abcdedfg:',value:'link\n\u200B'},
)
.setFooter('abcdedfg'))
.catch(控制台错误);
}
}
如果需要,这里是我的主要观点:
const fs=require('fs');
const{Client,Collection,MessageEmbed}=require('discord.js');
const{TOKEN,PREFIX}=require('./config/config');
const client=new client();
client.commands=新集合();
const commandFiles=fs.readdirSync('./commands').filter(file=>file.endsWith('.js'));
const embed=new MessageEmbed();
for(命令文件的常量文件){
const command=require(`./commands/${file}`);
client.commands.set(command.name,command);
}
client.on('message',message=>{
如果(!message.content.startsWith(PREFIX)| | message.author.bot)返回;
const args=message.content.slice(PREFIX.length.split(+/);
const命令=args.shift().toLowerCase();
如果(!client.commands.has(command))返回;
client.commands.get(command).execute(客户端、消息、参数、嵌入);
});
client.login(令牌);
这很简单。不要添加字段。添加字段就是添加新字段,因此如果不需要,请不要添加新字段。否则,请先清除旧的,然后再添加新的
我的建议是,用这个
module.exports = {
name: 'drive',
execute(client, message, args, embed) {
message.channel.send(embed
.setColor('#0099ff')
.setTitle('abcdedfg')
.setDescription('abcdedfg \n\u200B')
.setThumbnail('abcdedfg')
.setFooter('abcdedfg'))
.catch(console.error);
}
}
试试这个,让我看看
只要第一个字段存在,就不必添加。我找到了阻止每次将字段添加到字段数组的答案 因此,代码的答案是addinda
embed.fields=[]代码>结尾处:
module.exports={
名称:“驱动器”,
执行(客户端、消息、参数、嵌入){
message.channel.send(嵌入)
.setColor(“#0099ff”)
.setTitle('abcdedfg')
.setDescription('abcdedfg\n\u200B')
.set缩略图('abcdedfg')
addFields先生(
{name:'abcdedfg:',value:'link'},
{name:'abcdedfg:',value:'link\n\u200B'},
)
.setFooter('abcdedfg'))
.catch(控制台错误);
embed.fields=[];
}
}
这很简单。不要添加字段。@mw509好的,我应该什么时候添加它们?我已经发布了一个答案。请让我试试know@mw509哦,是的,我明白我的问题了。。。这太愚蠢了。。。对不起,谢谢你,很好。这是常有的事,好吧,我每次都会把它弄清楚。我会把答案贴出来。谢谢