检查discord.py文本频道的默认\u角色权限

检查discord.py文本频道的默认\u角色权限,discord,discord.py,Discord,Discord.py,使用discord.py库,是否可以检查@everyone角色在服务器内的给定通道中是否具有发送消息权限?我的目标是避免“重新打开”频道。这很简单,只需检查每个人角色的权限即可 everyone\u role=guild.roles[0]#命令中的ctx.guild和消息中的message.guild 如果“每个人”\u role.permissions.send\u消息: #一般来说,每个人都可以发送消息 #检查是否存在对everyone角色的覆盖 everyone=[e代表channel.c

使用discord.py库,是否可以检查@everyone角色在服务器内的给定通道中是否具有发送消息权限?我的目标是避免“重新打开”频道。

这很简单,只需检查
每个人
角色的权限即可

everyone\u role=guild.roles[0]#命令中的ctx.guild和消息中的message.guild
如果“每个人”\u role.permissions.send\u消息:
#一般来说,每个人都可以发送消息
#检查是否存在对everyone角色的覆盖
everyone=[e代表channel.changed_中的e,如果role.position==0,则角色已更改]
如果大家:
如果everyone.permissions.send_消息:
#每个人都可以通过这个频道发送信息
其他:
#他们不能
注意:everyone是层次结构顺序中最低的角色,在角色列表中有位置0和索引0

参考资料: