Функции работы в чатах и каналах Telegram
Так как внутри Salebot идентификаторы клиентов (пользователей, групп, каналов) внутри мессенджера записываются в переменной platform_id без каких-либо меток, к чему это принадлежит группе или пользователю, то для работы с функциями принятия/отклонения заявки требуется единожды запомнить значения platform_id чата и platform_id пользователя в переменные с разными именами, например, chat_id и user_id.
Как изменить настройки чата/канала Telegram
Как поменять имя чата через бот в Telegram
tg_set_group_title(platform_id, title)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! title
новое название чата
Как поменять описание чата через бот в Telegram
tg_set_chat_description(platform_id, description)
! platform_id
идентификатор чата внутри Telegram *
! description
новое описание чата
Как установить аватарку на группу/чат в Telegram
tg_set_chat_photo(platform_id, photo)
! platform_id
идентификатор чата внутри Telegram *, в котором нужно установить аватарку
! photo
ссылка на фото
Как удалить аватарку группы/чата в Telegram
tg_delete_chat_photo(platform_id)
! platform_id
идентификатор чата внутри Telegram *, в котором нужно установить аватарку
Как забанить/разбанить группу Telegram
Как забанить группу Telegram
tg_ban_chat_sender_chat(platform_id, sender_chat_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *, который нужно забанить
! sender_chat_id
идентификатор чата, который баним
При этом владелец забаненного чата не сможет писать и от имени других своих чатов до тех пор, пока не будет разбанен
Как разбанить группу Telegram
tg_unban_chat_sender_chat(platform_id, sender_chat_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *, в котором разбаниваем
! sender_chat_id
идентификатор чата, который разбаниваем
Как работать с ссылками на чат/канал Telegram
Как создать ссылку на вступление в чат в Telegram
tg_create_chat_invite_link(platform_id, member_limit, hours, request, name)
Параметры:
! platform_id
идентификатор чата в Telegram *
member_limit
лимит на количество участников
hours
количество часов, которое будет действовать ссылка
request
признак того, что при переходе по ссылке должен формироваться запрос на вступление чат
name
название ссылки
При передаче параметра member_limit значение параметра request автоматически заменится на False. Если же нужно принимать заявки на вступление, то параметр member_limit оставляем пустым.
Создание ссылки на вступление в чат:

Как удалить ссылку на вступление в чат в Telegram
tg_revoke_chat_invite_link(platform_id, invite_link)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! invite_link
ссылка, которую надо удалить
Как сделать неактивными все существующие ссылки и заменить их на одну
Использовать с осторожностью. Все существующие ссылки для входа в вашу группу станут неактивными.
tg_export_chat_link(platform_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! invite_link
ссылка, которую надо удалить
Результат - ссылка, которая будет единственным способом попасть в группу до тех пор, пока не будут созданы дополнительные ссылки прочими способами.
Как работать с заявками в чат/канал Telegram
Как принять заявку и добавить пользователя в канал/чат в Telegram
tg_approve_chat_join_request(chat_id, user_id)
Параметры:
Прием заявки:

Как отклонить заявку в канал/чат в Telegram
tg_decline_chat_join_request(chat_id, user_id)
Параметры:
Отклонение заявки

Как работать с подписчиками чата/канала Telegram
Как заблокировать пользователя в Telegram
tg_ban_chat_member(chat_id, user_id, hours)
Параметры:
Как разблокировать пользователя в Telegram
tg_unban_chat_member(chat_id, user_id)
Параметры:
Как проверить наличие подписки в Telegram
tg_get_chat_member(chat_id, user_id)
Параметры:
Как определить число участников в канале/чате
tg_get_chat_member_count(platform_id)
Параметры:
! platform_id
идентификатор чата в Telegram *
Как проверить, состоит ли участник чата в определенном списке
some_client_in_list(list_id, recepient)
Параметры:
! list_id
номер списка
! recepient
идентификатор пользователя внутри Telegram *. Для клиентов чата данное значение в переменной chat_member_id.
Как показать действия в чате/канале Telegram
Как показать пользователю действия бота (печатает/выбирает стикер и т.д)
tg_send_chat_action(platform_id, bot_action, message_thread_id)
! Работает с бизнес-аккаунтом в Телеграм
Параметры:
! platform_id
идентификатор чата в Telegram *
! bot_action
действие бота из списка.
message_thread_id
идентификатор темы (доступно для супергрупп при наличии функционала форума).
Список возможных действий bot_action
typing для текстовых сообщений, upload_photo для фотографий, record_video или upload_video для видео , record_voice или upload_voice для голосовых заметок, upload_document для общих файлов, choose_sticker для стикеров, find_location для данных о местоположении, record_video_note или upload_video_note для видеозаметки.
Данное уведомление будет отображаться, пока не будет получен какой-либо ответ от бота, но не более 5 секунд.
Как показывать пользователю Alert-уведомления
tg_answer_callback_query(callback_query_id, text,show_alert,cache_time)
! callback_query_id (обязательный)
данный идентификатор позволяет определить нажавшего кнопку и продемонстрировать ему Alert-уведомление
! text (обязательный)
текст Alert-уведомления.
show_alert
признак исчезающего уведомления (False - исчезающее уведомление (подсказка), True - уведомление в окне)
cache_time
Максимальное количество времени в секундах, в течение которого результат запроса обратного вызова может быть кэширован на стороне клиента. Приложения Telegram будут поддерживать кэширование, начиная с версии 3.14. Значение по умолчанию равно 0
Пример
Alert-уведомления показываются только в результате нажатия на callback-кнопку в телеграмме.
Для примера используем следующие кнопки:
[{"line":0,"index_in_line":0,"text":"111","type":"inline","callback":"первая"}, {"line":1,"index_in_line":0,"text":"222","type":"inline","callback":"вторая"}, {"line":2,"index_in_line":0,"text":"333","type":"inline","callback":"третья"}]

После нажатия на такую кнопку приходит callback с текстом, содержащимся в соответствующем поле. При нажатии на кнопку “111” придет callback с текстом “первая”.

Создадим блок с первостепенной проверкой условия и в условие пишем желаемый текст. В нашем случае “первая”:

Если в поле Выбор соответствия выбрать Игнорируя ошибки и неточности, то в дальнейшем можно будет такой блок использовать для всех вариантов, которые отличаются на 1-2 символа. Например, благодарить за поставленную такой кнопкой оценку работы.
Далее в калькуляторе используйте функцию tg_answer_callback_query и в нее поместите такие параметры: callback_query_id - данный id позволяет идентифицировать нажавшего кнопку и продемонстрировать ему Alert-уведомление, text - текст Alert-уведомления.

Пример кода для копирования:
tg_answer_callback_query('#{callback_query_id}', "Вы нажали кнопку 111")
Важно! Параметр callback_query_id нужно передавать так, как показано в примере, т.е. в '#{}'
Если все подготовлено правильно, то результатом нажатия на кнопку будет Alert-уведомление с заданным текстом. В мобильной версии имя бота будет как заголовок над текстом.

Если же вы хотите показать простое всплывающее сообщение, то передайте третьим параметром False, как в примере ниже: tg_answer_callback_query('#{callback_query_id}', "Вы нажали кнопку 222", False)

Как в реакции на callback-кнопку добавить переход в бота с тэгом
tg_callback_url_open(callback_query_id, url, cache_time)
Параметры:
! callback_query_id
данный идентификатор позволяет определить нажавшего кнопку и продемонстрировать ему Alert-уведомление
! url
URL-адрес, указывающий бота и параметр (выглядит так: t.me/your_bot?start=XXXX, вместо your_bot - имя бота)
cache_time
Максимальное количество времени в секундах, в течение которого результат запроса обратного вызова может быть кэширован на стороне клиента. Приложения Telegram будут поддерживать кэширование, начиная с версии 3.14. Значение по умолчанию равно 0
Пример
В реакции на callback-кнопку можно добавить переход в бота с тегом tg_callback_url_open('#{callback_query_id}', 't.me/bot_name?start=XXXX')
Для примера используем следующие кнопки:
[{"line":0,"index_in_line":0,"text":"111","type":"inline","callback":"первая"}, {"line":1,"index_in_line":0,"text":"222","type":"inline","callback":"вторая"}, {"line":2,"index_in_line":0,"text":"333","type":"inline","callback":"третья"}]

После нажатия на такую кнопку приходит callback с текстом, содержащимся в соответствующем поле. При нажатии на кнопку “111” придет callback с текстом “первая”.

Создадим блок с первостепенной проверкой условия и в условие пишем желаемый текст. В нашем случае “первая”:

Если в поле Выбор соответствия выбрать Игнорируя ошибки и неточности, то в дальнейшем можно будет такой блок использовать для всех вариантов, которые отличаются на 1-2 символа. Например, благодарить за поставленную такой кнопкой оценку работы.
Далее в калькуляторе блока укажем tg_callback_url_open('#{callback_query_id}', 't.me/bot_name?start=XXXX'):

Как настроить права в чате/канале Telegram
Как повысить пользователя до администратора в супергруппе или канале в Telegram
tg_promote_user(platform_id, user_id, promote_options_list)
Параметры:
Списки прав обязательного параметра promote_options_list
В списке прав promote_options_list можно указать следующие права:
is_anonymous — присутствие администратора в чате скрыто,
can_manage_chat — администратор может получить доступ к журналу событий чата, статистике чата, статистике сообщений в каналах, видеть участников канала, видеть анонимных администраторов в супер-группах и игнорировать медленный режим. Этот уровень прав выдается по умолчанию, в случае указания любой из последующих привилегий.
can_post_messages — администратор может создавать сообщения канала, только для каналов
can_edit_messages — администратор может редактировать сообщения других пользователей и может закреплять сообщения, только для каналов
can_delete_messages — администратор может удалять сообщения других пользователей
can_manage_video_chats — администратор может управлять видеочатами,
can_restrict_members — администратор может ограничивать, ставить/отменять бан участникам чата,
can_promote_members — администратор может добавлять новых администраторов с подмножеством их собственных привилегий или понижать в должности администраторов, которых он повысил, прямо или косвенно (повысили администраторы, которые были им назначены)
can_change_info — администратор может изменить название чата, фото и другие настройки
can_invite_users — администратор может приглашать новых пользователей в чат
can_pin_messages — администратор может закреплять сообщения, только для супергруппы.
Пример
Разберем пример как повысить пользователя до администратора в супергруппе:

В данном примере помимо перечисленных прав будут по умолчанию выданы права can_manage_chat.


Пример кода для копирования
Как изменить титул администратора с помощью бота в Telegram
tg_set_administrator_title(platform_id, user_id, title)
Параметры:
ВАЖНО!
Работает только на пользователях, которых администраторами супергруппы назначил бот
Пример кода для копирования:
Ограничения для пользователей
Общие ограничения для обычных пользователей чата или для отдельных пользователей Telegram
tg_chat_permission(platform_id, permission, media_permissions)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! permission
массив значений для списка ограничений, приведенного ниже. В массиве значение 1 разрешает действие, а 0 - запрещает. Порядковый номер соответствует позиции в массиве
! media_permissions
список значений прав для работы с медиа (подробнее ниже). В списке значение 1 разрешает действие, а 0 запрещает. Порядковый номер соответствует позиции в списке.
Список ограничений для обязательного параметра permission
Список ограничений permission: 1. ! can_send_messages - разрешение отправлять текстовые сообщения, контакты, местоположения и места проведения 2. ! can_send_media_messages - разрешение отправлять аудио, документы, фотографии, видео, видеозаметки и голосовые заметки, подразумевается наличие разрешения can_send_messages 3. ! can_send_polls - разрешение отправлять опросы, подразумевается наличие разрешения can_send_messages 4. ! can_send_other_messages - разрешение отправлять анимацию, игры, стикеры и использовать встроенных ботов, подразумевается наличие разрешения can_send_media_messages 5. ! can_add_web_page_previews - разрешение добавлять превью веб-страницы к своим сообщениям, подразумевается наличие разрешения can_send_media_messages 6. ! can_change_info - разрешение изменять название чата, фото и другие настройки. Игнорируется в публичных супергруппах 7. ! can_invite_users - разрешение приглашать пользователей 8. ! can_pin_messages - разрешение закреплять сообщения. Игнорируется в публичных супергруппах 9. can_manage_topics - разрешение создавать темы в группах-форумах. Если пытаться применить в группах неподходящего типа, то функция не сработает и вернет ошибку.
Список значений для обязательного параметра media_permissions
Список значений для выдачи прав по работе с медиа media_permissions:
1. can_send_audios - разрешение отправлять аудиофайлы 2. can_send_documents -разрешение отправлять документы 3. can_send_photos - разрешение отправлять фото 4. can_send_videos - разрешение отправлять видео 5. can_send_video_notes - разрешение отправлять круглое видео 6. can_send_voice_notes - разрешение отправлять голосовые сообщения
Персональные ограничения для обычных пользователей чата или для отдельных пользователей Telegram
tg_restrict_chat_member(platform_id, user_id, minutes, permission, media_permissions).
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! user_id
идентификатор пользователя внутри Telegram *
minutes
кол-во минут, в течении которого будет действовать ограничение (если не указать явно, по умолчанию будет применено значение 3600, что соответствует 60 часам, а если указать 0, то ограничения будут действовать бессрочно)
permission
массив значений для списка ограничений
media_permissions
список значений для выдачи прав по работе с медиа
Список ограничений для параметра permission
Список ограничений permission: 1. ! can_send_messages - разрешение отправлять текстовые сообщения, контакты, местоположения и места проведения 2. ! can_send_media_messages - разрешение отправлять аудио, документы, фотографии, видео, видеозаметки и голосовые заметки, подразумевается наличие разрешения can_send_messages 3. ! can_send_polls - разрешение отправлять опросы, подразумевается наличие разрешения can_send_messages 4. ! can_send_other_messages - разрешение отправлять анимацию, игры, стикеры и использовать встроенных ботов, подразумевается наличие разрешения can_send_media_messages 5. ! can_add_web_page_previews - разрешение добавлять превью веб-страницы к своим сообщениям, подразумевается наличие разрешения can_send_media_messages 6. ! can_change_info - разрешение изменять название чата, фото и другие настройки. Игнорируется в публичных супергруппах 7. ! can_invite_users - разрешение приглашать пользователей 8. ! can_pin_messages - разрешение закреплять сообщения. Игнорируется в публичных супергруппах 9. can_manage_topics - разрешение создавать темы в группах-форумах. Если пытаться применить в группах неподходящего типа, то функция не сработает и вернет ошибку.
Список значений для параметра media_permissions
Список значений для выдачи прав по работе с медиа media_permissions:
1. can_send_audios - разрешение отправлять аудиофайлы 2. can_send_documents -разрешение отправлять документы 3. can_send_photos - разрешение отправлять фото 4. can_send_videos - разрешение отправлять видео 5. can_send_video_notes - разрешение отправлять круглое видео 6. can_send_voice_notes - разрешение отправлять голосовые сообщения
Пример
Пример применения функции, в котором пользователю запретили все на 3 минуты:

При входе в чат пользователю будет показано уведомление о невозможности писать в чат и если ограничение по времени было выставлено, то он увидит срок действия данного ограничения.

Код для копирования:
Как работать с сообщениями в чате/канале Telegram
Как закрепить сообщение
tg_pin_chat_message(platform_id, message_id, disable_notification)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
message_id
идентификатор сообщения, которое нужно закрепить
disable_notification
параметр определяет нужно ли отправлять уведомление всем участникам чата о новом закрепленном сообщении (уведомления всегда отключены в каналах и приватных чатах). Если не нужно отправлять уведомления, то в качестве значения параметра disable_notification передайте 1, иначе - 0.
Как открепить сообщение
tg_unpin_chat_message(platform_id, message_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
message_id
идентификатор сообщения, которое нужно открепить. Если message_id не указан, то будет откреплено самое последнее (по дате отправки) закрепленное сообщение.
Как открепить все закрепленные сообщения
tg_unpin_all(platform_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
ВНИМАНИЕ!
В Telegram существует ограничение для функций закрепить/открепить сообщение.
Сроки возможности использования функций tg_pin_chat_message / tg_unpin_chat_message / tg_unpin_all ограничиваются НЕ системой Сейлбота.
Если срок обращения к сообщению для закрепления прошел, то функция хотя и вернет true, но для самого Телеграм настройки не будет применены.
Также важно учитывать, что закрепленные сообщения могут сохраниться в кеше и визуально удалиться не сразу.
Как создать/закрыть опрос в чате/канале Telegram
Как создать простой опрос в Telegram
tg_send_poll(platform_id, question, options, is_anonymous, allows_multiple_answers, reply_markup, disable_notification, protect_content, token, reply_to_message_id, message_thread_id, business_connection_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! question
вопрос
! options
массив вариантов ответов
is_anonymous
1 - анонимный опрос, '' - не анонимный
allows_multiple_answers
1 - возможны несколько ответов, '' - один ответ
reply_markup
клавиатура или '' - без клавиатуры
disable_notification
признак отправки со звуковым уведомлением (по умолчанию 0) 1 - отключить уведомление при получении, 0 - передать с уведомлением
protect_content
1 защитить от копирования и скриншотов, '' - без защиты
token
токен бота, если не передан используется текущий
reply_to_message_id
идентификатор цитируемого сообщения
message_thread_id
идентификатор темы (доступно для супергрупп при наличии функционала форума)
business_connection_id
значение при подключении бота - Business ID - отображается в каналах. Следует передавать, если в параметрах передается токен бота и надо отправить через подключенный к боту пользовательский аккаунт
Важно учитывать!
Примечания
1. Функция возвращает ответ от телеграма, в котором есть message_id, его лучше сохранять, так как с его помощью можно будет завершить опрос функцией tg_stop_poll (описание ниже) и получить результат.
2. Если опрос добавлен пользователем в канал, то в диалог придет колбек:
poll_added - неизменная часть Вопрос - текст вопроса из опроса



Второй колбек после poll_added содержит цифры - это не что иное, как идентификатор пользователя в Telegram, который добавил опрос.
При создании опроса ботом колбек не приходит.
3. В канале можно создавать только анонимные опросы
Внимание, рекомендуется отправлять в группу только анонимные опросы!
4. После создания опроса в переменную сохраните его идентификатор, чтобы понимать на какой опрос пришел колбек.
Пример в боте
В своей работе мы часто задаемся вопросами, на которые могли бы ответить наши клиенты. Опросы очень помогают получить обратную связь от клиентов и сделать определенные выводы.
Пример кода для копирования:


Как создать викторину в Telegram
tg_send_quiz_poll(platform_id, question, options, explanation, correct_option_id, is_anonymous, reply_markup, parse_mode, protect_content, disable_notification, token, reply_to_message_id, message_thread_id )
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! question
вопрос
! options
массив вариантов ответов
! explanation
текст, который отображается, когда пользователь выбирает неправильный ответ или нажимает на значок лампы в опросе в стиле викторины, 0–200 символов с не более, чем двумя переводами строки после разбора сущностей.
! correct_option_id
номер правильного ответа, нумерация с 1
is_anonymous
1 - анонимный опрос, '' - неанонимный
reply_markup
клавиатура или '' - без клавиатуры
parse_mode
markdown или html для explanation или '' - без форматирования
protect_content
1 защитить от копирования и скриншотов, '' - без защиты
disable_notification
признак отправки со звуковым уведомлением (по умолчанию 0) 1 - отключить уведомление при получении, 0 - передать с уведомлением
token
токен бота, если не передан используется текущий
reply_to_message_id
ID цитируемого сообщения
message_thread_id
идентификатор темы (доступно для супергрупп при наличии функционала форума)
Важно учитывать!
Примечания
1. Функция возвращает ответ от Telegram, в котором есть message_id, его лучше сохранять, так как с его помощью можно будет завершить викторину функцией tg_stop_poll (описание ниже) и получить результат.
2. Если опрос добавлен пользователем в канал, то в диалог придет колбек: poll_added - неизменная часть Вопрос - вопрос опроса

Если опрос создан в чате, то колбек дополнительно будет содержать цифры - это идентификатор пользователя в Telegram, который добавил опрос.

При создании опроса ботом колбек не приходит.
3. В канале можно создавать только анонимные викторины
4. Если викторина была отправлена в диалог пользователя с ботом или в чат группы, то колбек о выбранном ответе придет в диалог бота с клиентом и будет иметь следующий вид:
Нумерация ответов начинается с 0. poll_answer 5325838371359031648 [3]
poll_answer - неизменяемая часть 5325838371359031648 - идентификатор викторины [3] - ответ

5. Если неанонимный опрос был создан в группе (неважно функцией или пользователем), в которой состоит в качестве администратора бот, то на каждый голос будет отправлен вебхук, при получении которого в диалог бота с клиентом будет отправлен колбек из пункта
6. Если клиент не контактировал с ботом, то отправить ему что-либо в ответ не получится, пока клиент не активирует бота.
Внимание рекомендуется отправлять в группу только анонимные викторины!
7. После создания викторины сохраните в переменную его идентификатор, чтобы понимать на какой опрос пришел колбек.
Как завершить опрос
Когда опрос или викторина завершаются этой функцией в ответ приходит словарь с результатом опроса.
tg_stop_poll(platform_id, message_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_id
идентификатор сообщения с опросом или викториной. Этот идентификатор можно получить из вебхука
Как работать с Форумами/Темами Telegram
1. Как работать с главной темой Telegram
Важно!
Главная тема группы не имеет id и для работы с ней есть отдельные функции.
Как переименовать главную Тему группы
tg_edit_general_forum_topic(platform_id, topic_name, bot_name)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
! topic_name
новое имя темы.
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Пример для бота
Изменить Главную тему группы можно при помощи функции tg_edit_general_forum_topic(). Здесь 2 обязательных параметра - это идентификатор чата и новое наименование для Темы группы:


Пример кода для копирования
переименовать чат главной Темы/
answer = tg_edit_general_forum_topic(-1001839380031, 'General')
Как закрыть главную Тему
tg_close_general_forum_topic(platform_id)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Пример кода для копирования
/закрыть чат главной Темы/
answer = tg_close_general_forum_topic(-1001839380031)
Как открыть ранее закрытую главную Тему
tg_reopen_general_forum_topic(platform_id, bot_name)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Пример кода для копирования
/открыть чат главной Темы/
answer = tg_reopen_general_forum_topic(-1001839380031)
Как скрыть главную Тему
tg_hide_general_forum_topic(platform_id, bot_name)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Суть данной операции в том, что чат Главной темы будет закрыт для участников Темы (можно читать, но нельзя писать) и скрыт из общего списка чатов Telegram для новых пользователей.
Пример кода для копирования
/скрыть чат главной Темы/
answer = tg_hide_general_forum_topic(-1001839380031)
Как отобразить главную Тему или вернуть её видимость
tg_unhide_general_forum_topic(platform_id, bot_name)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Важно!
Данная функция не открывает главную тему, а только делает ее видимой
Пример кода для копирования
/отобразить чат главной Темы/
answer = tg_unhide_general_forum_topic(-1001839380031)
2. Как работать с дополнительными темами Telegram
Как создать новую тему Telegram
tg_create_forum_topic(platform_id, name, icon, icon_color, bot_name)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! name
название новой темы
icon
идентификатор эмодзи, которое будет установлено на тему. Передается в виде строки. Можно использовать только те эмодзи, что есть в списке, полученном функцией tg_get_forum_icon
icon_color
цвет эмодзи из списка: 7322096, 16766590, 13338331, 9367192, 16749490, 16478047. Изменить цвет можно далеко не у всех эмодзи.
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Изменить установленный цвет нельзя, цвет задается только в момент создания темы
В результате исполнения функция вернет ответ, содержащий параметры новой темы, в том числе идентификатор темы (нужен для различных функций)
Пример для бота
Давайте создадим чат дополнительной темы:

Переменная answer будет содержать ответ следующего содержания: {"ok":true,"result":{"message_thread_id":254,"name":"second_bot_topic","icon_color":7322096}}
Здесь нам важно сохранить значение message_thread_id, оно нам понадобится в дальнейшем для работы с созданной темой:


Пример кода для копирования
Создаем чат дополнительной темы
answer = tg_create_forum_topic(-1001839380031, 'second_bot_topic', None, 7322096)
Сохраняем идентификатор чата созданной дополнительной темы
answer={"ok":true,"result":{"message_thread_id":254,"name":"second_bot_topic","icon_color":7322096}}/
idtema1=answer['result']['message_thread_id']
Как изменить тему. Как переименовать и/или поменять эмодзи для темы
tg_edit_forum_topic(platform_id, message_thread_id, name, icon, bot_name)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
name
название новой темы
icon
идентификатор эмодзи, которое будет установлено на тему. Передается в виде строки. Можно использовать только те эмодзи, что есть в списке, полученном функцией tg_get_forum_icon
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как закрыть выбранную тему
Закрыть тему - это значит оставить ее только для чтения, писать в закрытую тему нельзя
tg_close_forum_topic(platform_id, message_thread_id, bot_name)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как открыть ранее закрытую тему
tg_reopen_forum_topic(platform_id, message_thread_id, bot_name)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как удалить тему со всеми сообщениями
tg_delete_forum_topic(platform_id, message_thread_id, bot_name)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как открепить все сообщения темы
tg_unpin_topic_messages(platform_id, message_thread_id, bot_name)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как получить список эмодзи для Темы Telegram
tg_get_forum_icon() - функция вернет какие эмодзи можно ставить на иконки тем форумов. Необходимо присвоить функцию переменной, так как в ответ будет словарь, в котором ключом будет эмодзи, а значением идентификатор этого эмодзи id
Параметры: без параметров.
Содержание списка эмодзи
Для получения списка эмодзи для чата Темы отправьте команду в необходимый чат:

В ответ функция вернет список эмодзи, т.е. переменная answer будет иметь в качестве значения словарь:
{'📰': '5434144690511290129', '💡': '5312536423851630001', '⚡️': '5312016608254762256', '🎙': '5377544228505134960', '🔝': '5418085807791545980', '🗣': '5368697802761185083', '🆒': '5420216386448270341', '❗️': '5379748062124056162', '📝': '5357193964787081133', '📆': '5433614043006903194', '📁': '5357315181649076022', '🔎': '5309965701241379366', '📣': '5309984423003823246', '🔥': '5312241539987020022', '❤️': '5312138559556164615', '❓': '5377316857231450742', '📈': '5350305691942788490', '📉': '5350713563512052787', '💎': '5309958691854754293', '💰': '5350452584119279096', '💸': '5309929258443874898', '\U0001fa99': '5377690785674175481', '💱': '5310107765874632305', '⁉️': '5377438129928020693', '🎮': '5309950797704865693', '💻': '5350554349074391003', '📱': '5409357944619802453', '🚗': '5312322066328853156', '🏠': '5312486108309757006', '💘': '5310029292527164639', '🎉': '5310228579009699834', '‼️': '5377498341074542641', '🏆': '5312315739842026755', '🏁': '5408906741125490282', '🎬': '5368653135101310687', '🎵': '5310045076531978942', '🔞': '5420331611830886484', '📚': '5350481781306958339', '👑': '5357107601584693888', '⚽️': '5375159220280762629', '🏀': '5384327463629233871', '📺': '5350513667144163474', '👀': '5357121491508928442', '\U0001fae6': '5357185426392096577', '🍓': '5310157398516703416', '💄': '5310262535021142850', '👠': '5368741306484925109', '✈️': '5348436127038579546', '\U0001f9f3': '5357120306097956843', '🏖': '5310303848311562896', '⛅️': '5350424168615649565', '🦄': '5413625003218313783', '🛍': '5350699789551935589', '👜': '5377478880577724584', '🛒': '5431492767249342908', '🚂': '5350497316203668441', '🛥': '5350422527938141909', '🏔': '5418196338774907917', '🏕': '5350648297189023928', '🤖': '5309832892262654231', '\U0001faa9': '5350751634102166060', '🎟': '5377624166436445368', '🏴\u200d☠️': '5386395194029515402', '🗳': '5350387571199319521', '🎓': '5357419403325481346', '🔭': '5368585403467048206', '🔬': '5377580546748588396', '🎶': '5377317729109811382', '🎤': '5382003830487523366', '🕺': '5357298525765902091', '💃': '5357370526597653193', '\U0001fa96': '5357188789351490453', '💼': '5348227245599105972', '\U0001f9ea': '5411138633765757782', '👨\u200d👩\u200d👧\u200d👦': '5386435923204382258', '👶': '5377675010259297233', '🤰': '5386609083400856174', '💅': '5368808634392257474', '🏛': '5350548830041415279', '\U0001f9ee': '5355127101970194557', '🖨': '5386379624773066504', '👮\u200d♂️': '5377494501373780436', '\U0001fa7a': '5350307998340226571', '💊': '5310094636159607472', '💉': '5310139157790596888', '\U0001f9fc': '5377468357907849200', '\U0001faaa': '5418115271267197333', '🛃': '5370947704199323325', '🍽': '5350344462612570293', '🐟': '5384574037701696503', '🎨': '5310039132297242441', '🎭': '5350658016700013471', '🎩': '5357504778685392027', '🔮': '5350367161514732241', '🍹': '5350520238444126134', '🎂': '5310132165583840589', '☕️': '5350392020785437399', '🍣': '5350406176997646350', '🍔': '5350403544182694064', '🍕': '5350444672789519765', '\U0001f9a0': '5312424913615723286', '💬': '5417915203100613993', '🎄': '5312054580060625569', '🎃': '5309744892677727325'}
Last updated