#python #discord #discord.py
Вопрос:
Я могу обновить свои разрешения на канал с помощью:
geral_id = 906350388440092798 sessao_id = 906341908460548210 canal_geral = client.get_channel(geral_id) canal_sessao = client.get_channel(sessao_id) role = get(guild.roles, name="Role Name") await canal_sessao.set_permissions(role, send_messages = False)
Однако это полностью удаляет все другие разрешения на роль из моих каналов.
Как я могу просто обновить его, не перезаписывая другие? Поскольку это всего лишь одно разрешение, я уверен, что есть способ сделать это без необходимости вручную устанавливать их все.
Ответ №1:
Проверьте это:
channel = any_channel # specify channel here role = any_role # specify role here overwrites = channel.overwrites role_overwrites = overwrites.get(role, discord.PermissionOverwrite()) role_overwrites.send_messages = False overwrites[role] = role_overwrites await channel.edit(overwrites=overwrites)