Я пытаюсь создать частный v c для функции, которую пытаюсь сделать. он делает v c с разрешениями, которые я хочу сделать, но затем он выдает ошибку после того, как он это сделал, и я не могу поставить за ним какой-либо код. Это код:
guild = ctx.author.guild
players_role = await guild.create_role(name=f"Players {game_id}")
for i in all_players:
print(all_players)
print(i)
i = guild.get_member(int(i[1]))
await i.add_roles(players_role)
overwrites = {
guild.default_role: discord.PermissionOverwrite(view_channel=False),
players_role: discord.PermissionOverwrite(view_channel=True)
}
players_vc = await guild.create_voice_channel(f"Game: {game_id}", overwrites=overwrites)
await players_vc.edit(position=len(ctx.guild.voice_channels))
print("edited position")
Я пытаюсь отредактировать созданный мною v c так, чтобы он тянулся вниз, но он этого не делает, потому что выдает ошибку в предыдущая строка. Я попытался поместить players_vc = await guild.create_voice_channel(f"Game: {game_id}", overwrites=overwrites)
в try:
и except:
, но мне нужна переменная для редактирования позиции. вот сообщение об ошибке:
Traceback (most recent call last):
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\ext\commands\core.py", line 83, in wrapped
ret = await coro(*args, **kwargs)
File "D:\Thijs coding map\TeaBot\TeaBot.py", line 889, in vc_test
test_vc = await guild.create_voice_channel(f"test vc", overwrites=overwrites)
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\guild.py", line 888, in create_voice_channel
channel = VoiceChannel(state=self._state, guild=self, data=data)
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\channel.py", line 553, in __init__
self._update(guild, data)
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\channel.py", line 584, in _update
self._fill_overwrites(data)
File "C:\Users\Gebruiker\AppData\Local\Programs\Python\Python37-32\lib\site-packages\discord\abc.py", line 294, in _fill_overwrites
self._overwrites.append(_Overwrites(id=overridden_id, **overridden))
TypeError: __new__() got an unexpected keyword argument 'allow_new'
для устранения неполадок вы можете использовать этот код:
@client.command()
async def vc_test(ctx):
guild = ctx.guild
user = ctx.author
overwrites = {
guild.default_role: discord.PermissionOverwrite(view_channel=False),
guild.me: discord.PermissionOverwrite(view_channel=True)
}
test_vc = await guild.create_voice_channel(f"test vc", overwrites=overwrites)
await test_vc.edit(position=len(guild.voice_channels))
print("edited position")
Я не мог найти эту проблему в другом месте, вся помощь приветствуется