Check discord.js Bot Permission



这段代码是在启动bot时运行的从每台服务器获取用户邀请,需要管理员角色但举例来说,这个bot有10台服务器其中一台服务器关闭了bot的管理员角色我的bot出现了错误,得到了Missing Access然后崩溃,然后关闭我的意思是你必须按任意键

这里我想检查server perm,我指的是一个服务器,如果服务器中的bot没有角色,忽略它,不要崩溃

module.exports = (client) => {
const invites = {} // { guildId: { memberId: count } }
const db = require("quick.db")
const getInviteCounts = async (message,guild) => {
return await new Promise((resolve) => {
guild.fetchInvites().then((invites) => {
const inviteCounter = {} // { memberId: count }
invites.forEach((invite) => {
const { uses, inviter } = invite
const { username, discriminator } = inviter
const name = `${username}#${discriminator}`
inviteCounter[name] = (inviteCounter[name] || 0) + uses
})
resolve(inviteCounter)
})
})
}

对于disord .js v13,您需要使用:

if(!message.guild.me.permissions.has("ADMINISTRATOR")) return message.reply(`I don't have ADMINISTRATOR permission`)