我正在尝试创建一个静音命令,它将删除您的所有 Angular 色并添加静音 Angular 色,静音时间后它应该返回您的所有 Angular 色并采取静音 Angular 色。当我尝试接受(或返回)所有 Angular 色时,它接下来会写:
(node:3720) UnhandledPromiseRejectionWarning: TypeError: Supplied parameter was neither a Role nor a Snowflake.
使用静音命令后获取 Angular 色(并给出 muterole):
rmember.addRole(muterole.id) && rmember.removeRole(takenroles);
在静音时间到期后返回 Angular 色(并获取 muterole):
rmember.removeRole(muterole.id) && rmember.addRole(takenroles) ;
这就是我尝试扮演的 Angular 色:
let rmember = message.mentions.members.first()
let takenroles = rmember.roles
最佳答案
GuildMember.addRole()
和 GuildMember.removeRole()
仅添加/删除单个 Role每次通话。要一次删除多个,请使用 GuildMember.addRoles()
和 GuildMember.removeRoles()
.
Promise.all([
rmember.addRole(muterole),
rmember.removeRoles(takenroles)
])
.then(() => console.log('Muted.'))
.catch(console.error);
相反...
Promise.all([
rmember.removeRole(muterole),
rmember.addRoles(takenroles)
])
.then(() => console.log('Unmuted.'))
.catch(console.error);
关于javascript - .addRole 和 .removeRole 问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58147562/