我正在尝试创建一个静音命令,该命令将删除所有角色并添加静音角色,在静音时间过后,它应该返回所有角色并担任静音角色。当我尝试担任(或返回)所有角色时,它会写在下面:
(node:3720) UnhandledPromiseRejectionWarning: TypeError: Supplied parameter was neither a Role nor a Snowflake.
在使用静音命令后,它将扮演角色(并给出一个静音角色):
rmember.addRole(muterole.id) && rmember.removeRole(takenroles);
并且在静音时间到期后返回角色(并获取一个静音角色):
rmember.removeRole(muterole.id) && rmember.addRole(takenroles) ;
这就是我要扮演的角色:
let rmember = message.mentions.members.first()
let takenroles = rmember.roles
答案 0 :(得分:1)
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);