我想锁定语音通道,这样在创建之后就没有人可以加入它了。语音通道被用作服务器时钟。下面是创建通道的代码:
for channel in saved_guild["guild"].channels:
#first_word = channel.name.split(" ")[0]
#if first_word == '? (GMT-4)':
if '? (GMT-4)' in channel.name:
await channel.delete()
#channel_exists = True
#await channel.edit(name=new_title)
#break
#create new channel
if not channel_exists:
await saved_guild["guild"].create_voice_channel(new_title)和
channel_exists = False
for channel in context.guild.channels:
#first_word = channel.name.split(" ")[0]
#if first_word == 'Time/Hora':
if '? (GMT-4)' in channel.name:
await channel.delete()
#channel_exists = True
#await channel.edit(name=new_title)
#break
#create new channel
if not channel_exists:
await context.guild.create_voice_channel(new_title)发布于 2021-08-11 08:36:48
yotam rec的建议很有帮助,这是新的代码:
for channel in saved_guild["guild"].channels:
if '?' in channel.name:
await channel.set_permissions(saved_guild["guild"].roles[0], connect=True)
await channel.delete()和
if not channel_exists:
await saved_guild["guild"].create_voice_channel(new_title)
for channel in saved_guild["guild"].channels:
if '?' in channel.name:
await channel.set_permissions(saved_guild["guild"].roles[0], connect=False)发布于 2021-08-08 00:27:25
如果你想为每个人锁定语音通道,你可以这样做:
for channel in ctx.guild.voice_channels:
#insert code here
for role, permissions in channel.overwrites:
permissions.connect = False
await channel.set_permissions(role, permissions)这基本上拒绝了语音通道权限列表中每个角色的“连接”权限
https://stackoverflow.com/questions/68696818
复制相似问题