discord - discord.js 角色创建但没有信息
问题描述
我目前正在编写一个函数,该函数将创建一个新的用户角色,在发出命令的用户之后分配一个随机颜色和名称。代码如下:
message.guild.createRole({
data: {
name: 'Super Cool People',
color: 'BLUE',
},
reason: 'we needed a role for Super Cool People',
})
.then(console.log)
.catch(console.error);
正如你们中的一些人可能知道的那样,它直接在 CreateRole 的文档之外。但是,我遇到的问题是它成功创建了一个角色,但是角色的名称是“新角色”,而不是上面指定的名称,并且角色的颜色不受此影响。日志显示:
2020-04-16T23:01:35.133373+00:00 app[worker.1]: id: '700481043597099059',
2020-04-16T23:01:35.133373+00:00 app[worker.1]: name: 'new role',
2020-04-16T23:01:35.133374+00:00 app[worker.1]: color: 0,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: hoist: false,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: position: 1,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: permissions: 104324673,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: managed: false,
2020-04-16T23:01:35.133374+00:00 app[worker.1]: mentionable: false
权限是默认的,这里没什么特别的。有权访问此命令的用户已经拥有从更高级别角色分配的足够权限。但是,问题在于未按预期命名特定角色并且未分配颜色。使用 message.guild.createRole 似乎适合我正在使用的边界,因为它在消息等待异步调用中。为什么是这样?
解决方案
您的解决方案应该很简单,您可以通过使用RANDOM
作为值来随机化颜色,您可以使用 GuildMember 的用户名作为角色
message.guild.createRole({
name: message.author.username,
color: 'RANDOM',
})
.then(console.log)
.catch(console.error);
推荐阅读
- html - 页面打开时如何修复按钮转换为带边框的自定义按钮?
- regex - Julia:检查字符串中的第一个字母是否为小写首选语法
- php - 如何通过php执行使用moviepy的python脚本
- c# - 如何获取具有已知边的抽象多边形的顶点
- sphinx - 如何在 SphinxQL 中过滤 JSON?
- python-2.7 - 如何比较两个不同长度的列表并根据计数映射项目
- php - 优化街机游戏数据库高分排名
- mysql - 我想在一个月内将一些行值作为每天的列值
- tfs - 从某个变更集从 TFS 迁移到 Azure DevOps Services
- excel - 如何获取每组记录中缺失的记录列表?