当我触发guildDelete事件时使用“角色删除”修复缺少的权限
Bot权限:Admin(所有权限)列表顶部的Bot角色
我已经尝试过此代码:
client.on("guildDelete", async guild => {
try {
await guild.roles.find(r => r.id == "123456789").delete()
}
catch(err){
// Missing Permissions
}
})
但是,我也尝试过此操作(模拟guildDelete事件)
参数“行会”是真实的行会
client.emit("guildDelete", guild)
// This time, the role is deleted...
为什么这次可以使用,但在实际事件中却不可用?
回答如下:[guildDelete
事件被触发意味着您的机器人帐户已从该公会中删除,要么通过离开自己,被踢,被禁止,要么被公会删除。
不再进入公会将使您的Bot无法与该公会中的任何内容进行互动,从而引发无效的权限错误。
[当您使用client.emit
时,您正在模拟触发的事件,这意味着您的Bot仍在公会中并且仍然可以访问。