Как добавить тэг к посту в форуме?

Мне нужно по слэш команде создавать несколько постов в канале-форуме. Эти посты обязательно должны содержать метку (тэг) для того, чтобы было понятно к какой теме относится пост.

У меня возникла с этим проблема: я не понимаю как мне привязать тэг к посту. Вот мой код:

CHANNEL = BOT.get_channel(id)

await CHANNEL.create_thread(applied_tags="Логотип", name="ветка", content="текст")

Он крашится с ошибкой:

disnake.ext.commands.errors.CommandInvokeError: Command raised an exception: AttributeError: 'str' object has no attribute 'id'

Я понимаю, что в applied_tags нужно передать Snowflake, а не строку. Но я не понимаю, как через этот класс (Snowflake) мне получить тэг, который мне нужно использовать.

Пробовал получить ID тега, но не получилось, у дискорда просто нет такой функции. Пробовал искать ответ в гугле, но видимо я еще не набрался скилла искать ответ к проблеме, поэтому решил обратиться за помощью сюда.

Как привязать тэг к посту?


Ответы (1 шт):

Автор решения: q r t s

Ошибка возникла из-за того, что аргумент applied_tags принимает список тегов формата discord.ForumTag, а не их названия.

Для примера, создадим тег и прикрепим его к посту:

    CHANNEL = client.get_channel("channel_id") #Получаем канал-форум
    TAG = await CHANNEL.create_tag(name="Tag name") #Создаём тег
    await CHANNEL.create_thread(applied_tags=[TAG], name="Ветка", content="Текст") #Создаём пост, крепим к нему наш новый тег

Для получения уже существующего тега используем функцию get_tag, например:

    CHANNEL = client.get_channel("channel_id") #Получаем канал-форум
    TAG = await CHANNEL.get_tag("id") #Получаем тег по его ID
    await CHANNEL.create_thread(applied_tags=[TAG], name="Ветка", content="Текст") #Создаём пост, крепим к нему наш найденный тег
→ Ссылка