我正在制造一个不和谐的机器人,我想知道是否可以使其具有自己的角色颜色。例如,当mee6 bot加入服务器时,它始终具有蓝色的角色颜色,因此我想知道是否也可以做到这一点。
我试图进行查找,但是找不到任何可以做到这一点的东西。
答案 0 :(得分:2)
您不能修改机器人实际角色的颜色,但是可以创建带有颜色的角色,并在机器人加入行会时将其分配给机器人。这是我的赌场不和谐机器人的一些示例:
对于最新版本的discord.js:
client.on('guildCreate', guild => {
guild.roles.create({
data: {
name: "Casino",
color: "#593695"
}
}).then(role => guild.member(client.user).roles.add(role)).catch(console.error);
});
对于discord.js v11.6.4:
client.on('guildCreate', guild => {
guild.createRole({
name: "Casino",
color: "#593695"
}).then(role => guild.member(client.user).addRole(role)).catch(console.error);
});
当机器人加入服务器时,它将为机器人添加一个紫色角色。当然,您的机器人必须具有管理角色权限才能执行此操作,如果遇到错误,则您的机器人可能会丢失该权限。
答案 1 :(得分:1)
这是不可能的,因为角色颜色只能由服务器管理员更改。
例如,当mee6 bot加入服务器时,它始终具有蓝色的角色颜色,因此我想知道是否也可以这样做。
我刚刚将其添加到服务器中,并保持白色...
答案 2 :(得分:1)
该机器人可以使用您想要的任何颜色来扮演新角色。
// Create a new role with data and a reason
guild.roles.create({
data: {
name: 'Super Cool People',
color: 'BLUE',
},
reason: 'we needed a role for Super Cool People',
})
.then(console.log)
.catch(console.error);
来源: https://discord.js.org/#/docs/main/stable/class/RoleManager?scrollTo=create
您还可以编辑已经存在的角色:
// Edit a role
role.edit({ name: 'new role' })
.then(updated => console.log(`Edited role ${updated.name} name to ${updated.name}`))
.catch(console.error);
来源: https://discord.js.org/#/docs/main/stable/class/Role?scrollTo=edit