discord.py - 创建类别时无法设置覆盖
问题描述
我看过一个关于创建带有覆盖的频道的 youtube 教程,但我仍然不明白为什么这段代码不起作用
varCategory = await message.guild.create_category(name=args[1], overwrites={overwrite(message.guild.default_role,view_channel=False,send_messages=False)}, reason=None, position=0)
我得到错误 init() 需要 1 个位置参数,但给出了 2 个
解决方案
view_channel
来自旧async
版本。现在您可以使用read_messages
or设置它send_messages
,这将阻止用户在频道中发送消息。
在这里我已经更正了您的代码并对其进行了测试,您还可以选择命令的作者是否应该有权访问该频道。
guild = ctx.guild
member = ctx.author
overwrites = {
guild.default_role: discord.PermissionOverwrite(read_messages=False),
member: discord.PermissionOverwrite(read_messages=False)
}
channel = await guild.create_text_channel(args=[1], overwrites=overwrites)
推荐阅读
- java - 如何在jar中获取jar的文件位置
- javascript - 如何替换对象键?
- javascript - 如何使用Angular Js 1将参数从指令传递到控制器中的函数
- java - 使用自定义登录时从 Firebase 中获取重复项
- python - 如何在不滞后程序的情况下监控新/删除的串行设备连接?
- python - 我怎样才能让我的功能不断要求用户输入,直到它是正确的?
- python - ModuleNotFoundError:使用从 tensorflow.contrib.seq2seq 导入帮助器时没有名为“tensorflow.contrib”的模块
- python - Python cx_Oracle XMLTYPE 数据检索错误 DPI-1040: LOB 已关闭
- directx-11 - 如何在 D3D11 中获取资源分配大小
- django - ec2上的Django celery worker错误尝试使用systemd启动守护进程