簡體   English   中英

獲取一個類別Channel的權限並設置為語音通道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)

謝謝。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM