我正在尝试创建一个静音命令,该命令将删除您的所有角色并添加静音角色,在静音时间过后,它将返回您的所有角色并担任静音角色。当我尝试担当(或返回)所有角色时,接下来会写:
(node:3720) UnhandledPromiseRejectionWarning: TypeError: Supplied parameter was neither a Role nor a Snowflake.
使用Mutate命令后,它将扮演角色(并给出一个Mutrole):
rmember.addRole(muterole.id) && rmember.removeRole(takenroles);
并在静音时间到期后返回角色(并获取一个静音角色):
rmember.removeRole(muterole.id) && rmember.addRole(takenroles) ;
这就是我试图扮演的角色:
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);