@mrdarkrage

Ошибка «(» was not closed. Как решить?

Выходит ошибка "(" was not closed, хотя скобки закрыты. Пишу бота для дс.
client.ticket_mod = interaction.guild.get_role(id 1272562997054931095)
self.ticket_mod = (id 1272562997054931095)
if type(client.ticket_mod) is not discord.Role:client.ticket_mod = interaction.guild.get_role(id 1272562997054931095)

В этих строчка выходит ошибка, именно где скобки с айди.
  • Вопрос задан
  • 148 просмотров
Пригласить эксперта
Ответы на вопрос 2
@Everything_is_bad
interaction.guild.get_role(id 1272562997054931095)
interaction.guild.get_role(id=1272562997054931095)

и еще какая-та левая конструкция self.ticket_mod = (id 1272562997054931095)
Ответ написан
@DDV23
Биокибернетик
1.
Вот тут if type(client.ticket_mod) is not discord.Role:

если тебе важно учесть наследование, то более гибким решением будет
if not isinstance(client.ticket_mod, discord.Role):

2. Вот это (id 1272562997054931095) синтаксически не верно и тебе нужно было совсем другое, ты написал кортеж с с одним элементом.
Кортеж пишется так с 1 элементом так (id 1272562997054931095,) - которым будет результат выражения id 1272562997054931095 но это синтаксически неправильно и будет ошибка.
Потому что пропущен оператор = между id и 1272562997054931095.
Но если ты добавишь (id=1272562997054931095,) - это так же приведет к синтаксической ошибке, потому что внутри кортежа нельзя использовать именованные аргументы как в вызове функций.

А тебе нужен не кортеж, а вызов функции с именованным аргументом.
interaction.guild.get_role(id=1272562997054931095)

Тут ты вызываешь get_role, передавая ей аргумент id со значением 1272562997054931095.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы