获取类别频道的权限并将其设置为语音频道discord.py
Get the permissions of a category Channel and set it to voice channel discord.py
我想在更改发言权限的语音频道中将所有人静音,但是当我这样做时它不再与类别频道同步。
cat = ctx.guild.get_channel(categorychannel)
everyone = ctx.guild.default_role
channel = await ctx.guild.create_voice_channel("test", category=cat)
await channel.set_permissions(everyone, speak=False)
所以我试图获取类别频道权限并将其设置为语音频道,但由于某些原因它不起作用。
cat = ctx.guild.get_channel(categorychannel)
everyone = ctx.guild.default_role
perm = cat.overwrites_for(everyone)
perm.speak = False
channel = await ctx.guild.create_voice_channel("test", category=cat)
await channel.set_permissions(everyone, overwrite=perm)
谁能帮帮我?
因为权限不一样,所以语音频道不会和类别同步。因此,当您用 speak = False
覆盖发言权限时,它不再与类别同步。如果您之后同步权限,您将覆盖 speak = False
.
您提供的第二个代码按预期工作(只要找到类别),它获取类别的权限,为语音通道设置类别权限,设置speak = False
,然后没有与类别同步时间更长。
为了让它工作,我将 Bot 文件移到了我的服务器上,它开始正常工作,我不知道为什么,但它有,可能是我桌面上的缓存或一些配置。
所以第二个代码正如@Lemon.py所说的那样是对的。
这是代码。
cat = ctx.guild.get_channel(categorychannel)
everyone = ctx.guild.default_role
perm = cat.overwrites_for(everyone)
perm.speak = False
channel = await ctx.guild.create_voice_channel("test", category=cat)
await channel.set_permissions(everyone, overwrite=perm)
谢谢。
我想在更改发言权限的语音频道中将所有人静音,但是当我这样做时它不再与类别频道同步。
cat = ctx.guild.get_channel(categorychannel)
everyone = ctx.guild.default_role
channel = await ctx.guild.create_voice_channel("test", category=cat)
await channel.set_permissions(everyone, speak=False)
所以我试图获取类别频道权限并将其设置为语音频道,但由于某些原因它不起作用。
cat = ctx.guild.get_channel(categorychannel)
everyone = ctx.guild.default_role
perm = cat.overwrites_for(everyone)
perm.speak = False
channel = await ctx.guild.create_voice_channel("test", category=cat)
await channel.set_permissions(everyone, overwrite=perm)
谁能帮帮我?
因为权限不一样,所以语音频道不会和类别同步。因此,当您用 speak = False
覆盖发言权限时,它不再与类别同步。如果您之后同步权限,您将覆盖 speak = False
.
您提供的第二个代码按预期工作(只要找到类别),它获取类别的权限,为语音通道设置类别权限,设置speak = False
,然后没有与类别同步时间更长。
为了让它工作,我将 Bot 文件移到了我的服务器上,它开始正常工作,我不知道为什么,但它有,可能是我桌面上的缓存或一些配置。 所以第二个代码正如@Lemon.py所说的那样是对的。 这是代码。
cat = ctx.guild.get_channel(categorychannel)
everyone = ctx.guild.default_role
perm = cat.overwrites_for(everyone)
perm.speak = False
channel = await ctx.guild.create_voice_channel("test", category=cat)
await channel.set_permissions(everyone, overwrite=perm)
谢谢。