最近我建立了discord bot,主要问题是,我不知道如何设置权限,所以我服务器的每个成员都可以踢和禁止其他人

Posted

技术标签:

【中文标题】最近我建立了discord bot,主要问题是,我不知道如何设置权限,所以我服务器的每个成员都可以踢和禁止其他人【英文标题】:recently i build discord bot, the main problem is, i dont know how to set the permission, so every member of my server can kick and ban others 【发布时间】:2021-04-15 11:28:04 【问题描述】:

module.exports = 名称:'禁令', description: "这个命令禁止一个成员!", 执行(消息,参数)

    const member = message.mentions.users.first();
    if(member)
        const memberTarget = message.guild.members.cache.get(member.id)
        memberTarget.ban();
        message.channel.send("User has been banned");
    else
        message.channel.send('you couldnt ban that member');
    

module.exports = 名称:'踢', description: "这个命令踢出一个成员!", 执行(消息,参数)

    const member = message.mentions.users.first();
    if(member)
        const memberTarget = message.guild.members.cache.get(member.id)
        memberTarget.kick();
        message.channel.send("User has been kicked");
    else
        message.channel.send('you couldnt kick that member');
    

【问题讨论】:

【参考方案1】:

我们可以简单地使用GuildMember 对象的.hasPermission() 函数检查用户的权限。我们可以简单地将它与一个简单的 if 语句集成,其中包括您要检查的权限:

if (!message.member.hasPermission('BAN_MEMBERS') return; // Would return if the message author does not have permission to Ban Members
if (!message.member.hasPermission('KICK_MEMBERS') return; // Same thing for the Kick Members permission.

【讨论】:

以上是关于最近我建立了discord bot,主要问题是,我不知道如何设置权限,所以我服务器的每个成员都可以踢和禁止其他人的主要内容,如果未能解决你的问题,请参考以下文章

Discord bot 不是从 heroku 开始的

Discord Bot - 如何删除倒数第二条最近的消息?

Discord Bot - 跨渠道沟通

Discord Bot 更新:如何播放音频?

Heroku discord bot 不断重启

如何使用 aiohttp 制作 reddit discord bot