如何在discord.py中使用权限位整数设置频道权限覆盖
正确实现方案
你需要将权限整数转换为Permissions对象后,再通过PermissionOverwrite.from_pair()构造权限覆盖对象传入set_permissions的overwrite参数,示例代码如下:
from discord import Permissions, PermissionOverwrite ow_allow = 1024 # 允许的权限位整数 ow_deny = 0 # 拒绝的权限位整数,无相关需求可保持为0 # 构造权限覆盖对象 overwrite = PermissionOverwrite.from_pair( allow=Permissions(ow_allow), deny=Permissions(ow_deny) ) # 调用方法设置权限 await voice_channel.set_permissions(everyone, overwrite=overwrite)
错误原因说明
之前报错是因为set_permissions的permissions参数设计为接收send_messages=True这类键值对形式的权限参数,不支持直接传入整数或Permissions实例。
内容的提问来源于stack exchange,提问作者FileX
相关产品推荐
相关产品推荐

