Не получается добавить тэг на публикацию в Forum
Сделала код с библиотекой disnake на блокирование публикации, но для добавления тэга рекомендовали его по ID добавлять, а где его найти уже не понимаю и везде гуглила. Пробовала через applied_tags, но там тоже нужен его ID. Пишу сюда с надеждой, может кто поделится как все таки добавлять tag к публикации при блокировании. Само блокирование осуществляется так:
@bot.event
async def on_button_click(interaction: disnake.MessageInteraction):
if interaction.data["custom_id"] == 'close_ticket':
forum_thread = interaction.message.channel
await forum_thread.edit(locked=True)
Ответы (1 шт):
Для получения ID тега можно использовать функцию available_tags, там найти нужный тег и сохранить его ID (либо при создании сохранять, например, в базу данных):
#channel = <...> - Получаем сам канал-форум
print(channel.available_tags) #Выводим список тегов
Для добавления его к самой публикации получаем список уже имеющихся тегов у публикации:
tags = forum_thread.applied_tags
И далее получаем сам тег по его ID:
tag = forum_thread.parent.get_tag(ID)
Сохраняем в полученный список наш тег:
tags.append(tag)
Редактируем публикацию и сохраняем новый список тегов:
await forum_thread.edit(locked=False, applied_tags=tags)
Готовый код (сокращенный):
async def on_button_click(interaction: disnake.MessageInteraction):
if interaction.data["custom_id"] == 'close_ticket':
forum_thread = interaction.message.channel
tags = forum_thread.applied_tags.append(forum_thread.parent.get_tag(ID))
await forum_thread.edit(locked=False, applied_tags=tags)