【发布时间】:2021-01-22 11:19:37
【问题描述】:
我正在制作一个不和谐的机器人,我想知道我是否可以让它有自己的角色颜色。例如,mee6 bot 在加入服务器时始终具有蓝色角色颜色,所以我想知道我是否也可以这样做。
我已尝试查找此内容,但找不到任何相关内容。
【问题讨论】:
-
这不是分配给服务器设置中的角色的东西,也不是机器人可以通过编程方式分配给自己的东西。
标签: javascript discord discord.js
我正在制作一个不和谐的机器人,我想知道我是否可以让它有自己的角色颜色。例如,mee6 bot 在加入服务器时始终具有蓝色角色颜色,所以我想知道我是否也可以这样做。
我已尝试查找此内容,但找不到任何相关内容。
【问题讨论】:
标签: javascript discord discord.js
这是不可能的,因为角色颜色只能由服务器管理员更改。
例如,mee6 bot 在加入服务器时始终具有蓝色角色颜色,所以我想知道我是否也可以这样做。
我刚刚将它添加到我的服务器,它保持白色...
【讨论】:
机器人可以用你想要的任何颜色来扮演一个新角色。
// 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
【讨论】:
您无法修改机器人实际角色的颜色,但您可以创建具有颜色的角色并在机器人加入公会时将其分配给机器人。以下是我的赌场不和谐机器人的一些示例:
最新版本的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);
});
这会在机器人加入服务器时为其添加一个紫色角色。当然,您的机器人必须具有管理角色权限才能执行此操作,如果您遇到错误,您的机器人可能缺少该权限。
【讨论】: