gpt4 book ai didi

javascript - 我的创建 Angular 色命令仅创建一个名称为 "new role"的 Angular 色

转载 作者:行者123 更新时间:2023-12-04 07:42:12 25 4
gpt4 key购买 nike

如果我写命令 !rang moderator 4af7d4 ,我的机器人发送一条消息说“创建了新 Angular 色”,并创建了一个名为 "new role" 的 Angular 色。而不是名称 "moderator" (命令后的第一个参数)。
这是我当前的代码:

client.on('message', (message) =>{
if(message.content.startsWith(`${prefix}rang`)){
if(!message.member.hasPermission('MANAGE_ROLES'))return message.channel.send('nincs jogod ehhez!');
var args = message.content.split(" ");
args.shift();

message.guild.roles.create({
name: args[0],
color: args[1]
})
.then(role =>{
console.log('Rang elkészítve')
message.channel.send(`${role.name} létrehozva`)
})
.catch(err => console.log(err));
}
})

最佳答案

RoleManager#create() 接受 options具有两个可选属性的对象,datareason . data RoleData 它具有类似 name 的属性, color , position , permissions , 等等。
问题是你提供了一个带有两个键的对象; namecolor ,但这些应该在 data 内像这样的对象:

roles.create({
data: {
name: args[0],
color: args[1],
},
})
我对您的代码进行了一些更改,因此这是您的完整代码和注释:
client.on('message', (message) => {
const args = message.content.slice(prefix.length).split(/ +/);
// move the first args to a variable named command
const command = args.shift().toLowerCase();

// you only need to check the command now, not the prefix
if (command === 'rang') {
if (!message.member.hasPermission('MANAGE_ROLES'))
return message.channel.send('Nincs jogod ehhez!');

// send an error message if role name is not provided
if (!args[0])
return message.channel.send('Rang nevének megadása kötelező');

message.guild.roles
.create({
data: {
name: args[0],
// you can add a random colour if the color is not provided
color: args[1] || 'RANDOM',
},
})
.then((role) => {
message.channel.send(`${role} rang létrehozva`);
})
.catch((err) => console.log(err));
}
});
结果如下:
enter image description here

关于javascript - 我的创建 Angular 色命令仅创建一个名称为 "new role"的 Angular 色,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/67400866/

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