Python 3 - Discord Bot

问题描述 投票:1回答:1

我正在制作一个discord bot,我希望它能清除服务器中的消息。我有代码,但是当我运行它时,它会询问我的权限。如何授予机器人删除频道消息的权限?

python discord.py
1个回答
2
投票

您的bot用户帐户需要在您运行命令的特定服务器/公会上使用MANAGE_MESSAGES permission才能删除邮件。这需要由服务器管理器在安装机器人时设置(通常,它使用机器人使用的自定义角色完成)。您可以检查以确保您具有以下角色:

# get your bot's guild member object first (that's outside the scope of this post)
# we'll call the guild member object "member" here...

# MANAGE_MESSAGES permission is 0x00002000, we'll use a bitwise AND to see if the
# bot has a role with the MANAGE_MESSAGES permission.
if not filter(lambda role: role.permissions & 0x00002000 != 0, member.roles):
    # error handling, possibly send a message saying the bot needs permissions
else:
    # delete messages using your method
© www.soinside.com 2019 - 2024. All rights reserved.