如何使不和谐的机器人角色上色?

时间:2020-10-07 13:31:09

标签: javascript discord discord.js

我正在制造一个不和谐的机器人,我想知道是否可以使其具有自己的角色颜色。例如,当mee6 bot加入服务器时,它始终具有蓝色的角色颜色,因此我想知道是否也可以做到这一点。

我试图进行查找,但是找不到任何可以做到这一点的东西。

3 个答案:

答案 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