gpt4 book ai didi

javascript - 描述 设置和查看问题

转载 作者:行者123 更新时间:2023-12-02 22:46:00 28 4
gpt4 key购买 nike

我一直在尝试为我的profile命令嵌入设置一个人们可以更改的简历。我认为它应该有效,但我的代码似乎有问题。

相关代码如下:

const PREFIX = '!';
var bio = {};
client.on('message', async message => {
let args = message.content.substring(PREFIX.length).split(" ");
switch (args[0]) {
case 'setBio':
bio[message.author.id] = args[1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20];
message.channel.send('Your bio has been changed!')
.then(msg => msg.delete(3000));
break;
case 'profile':
const embed = new Discord.RichEmbed()
.setTitle('__' + message.author.username + '\'s Profile__')
.addField('Bio: ', bio[message.author.id])
.setColor(message.member.colorRole.color)
.setThumbnail(message.author.avatarURL)
message.channel.send(embed);
break;
}
});

这两个命令现在都会显示,但是现在当我尝试更改 Bio 然后显示配置文件时,Bio 不会更改。我检查了控制台,但没有显示任何错误。 现在这很烦人。

最佳答案

问题是运行 args[1,2,3,...,20] 只会返回您传递给它的最后一个索引,而不是每个索引的整个数组。您可以将该行替换为:

bio[message.author.id] = args.slice(1) 

这将返回数组减去其中的第一项。

对于该数组的嵌入,您只能将字符串值传递到 .addField() 方法中,因此,您应该将数组连接在一起形成一个连贯的字符串,如下所示:

.addField('Bio: ', bio[message.author.id].join(" "))

关于javascript - 描述 设置和查看问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58401425/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com