python - Discord.py 默认角色权限
问题描述
如何检查特定频道中的默认角色具有哪些权限?
我试过了:
if member.default_role.permission_in(channel).send_message:
但如果没有错误消息,它就无法工作。我尝试过的所有其他方法也没有奏效。
这是我的代码:
@commands.command()
async def unmute(self, ctx, member: discord.Member):
if ctx.author.guild_permissions.kick_members:
for channel in ctx.guild.text_channels:
role = discord.utils.get(member.guild.roles, name="@everyone")
if role.permission_in(channel).send_message and member.permissions_in(channel).read_messages:
await channel.set_permissions(member, send_messages=True)
解决方案
@client.event
async def on_member_join(member):
guild = member.guild
role = discord.utils.get(guild.roles, name="@everyone")
if role is not None:
perms = role.permissions
print(perms)
使用它打印角色权限整数。您可以使用权限计算器找出权限是什么
推荐阅读
- vue.js - vuejs + vuex中动态重置对象引用的问题
- azure - 用于获取 PaaS 和 SaaS 服务列表的 Azure REST API
- android - 如何从我的数据库中获取值并将它们提供给字符串数组
- field - OpenCart - 管理面板中的自定义产品字段
- python - 为什么 16bit 到 8bit 的转换会产生条纹图像?
- ionic-framework - Ionic 用阿拉伯语制作 pdf 报告
- swift - Amazon EC2 T2 实例是否适合运行 TensorFlow Mobile 或 TensorFlow Lite?
- solr - SolrCloud Zookeeper 引导选项 | 索尔 7
- angular - 从 observable 上的 finalize 方法返回一个 observable
- javascript - Javascript错误的unix时间