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

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

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

Как работать с подписчиками чата/канала Telegram
tg_ban_chat_member()
Как заблокировать пользователя в Telegram
tg_ban_chat_member(chat_id, user_id, hours)
Параметры:
tg_unban_chat_member()
Как разблокировать пользователя в Telegram
tg_unban_chat_member(chat_id, user_id)
Параметры:
tg_get_chat_member()
Как проверить наличие подписки в Telegram
tg_get_chat_member(chat_id, user_id)
Параметры:
tg_get_chat_member_count()
Как определить число участников в канале/чате
tg_get_chat_member_count(platform_id)
Параметры:
! platform_id
идентификатор чата в Telegram *
some_client_in_list()
Как проверить, состоит ли участник чата в определенном списке
some_client_in_list(list_id, recepient)
Параметры:
! list_id
номер списка
! recepient
идентификатор пользователя внутри Telegram *. Для клиентов чата данное значение в переменной chat_member_id.
Как показать действия в чате/канале Telegram
tg_send_chat_action()
Как показать пользователю действия бота (печатает/выбирает стикер и т.д)
tg_send_chat_action(platform_id, bot_action, message_thread_id)
! Работает с бизнес-аккаунтом в Телеграм
Параметры:
! platform_id
идентификатор чата в Telegram *
! bot_action
действие бота из списка.
message_thread_id
идентификатор темы (доступно для супергрупп при наличии функционала форума).
tg_answer_callback_query()
Как показывать пользователю 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
tg_callback_url_open()
Как в реакции на 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
Как настроить права в чате/канале Telegram
tg_promote_user()
Как повысить пользователя до администратора в супергруппе или канале в Telegram
tg_promote_user(platform_id, user_id, promote_options_list)
Параметры:
tg_set_administrator_title()
Как изменить титул администратора с помощью бота в Telegram
tg_set_administrator_title(platform_id, user_id, title)
Параметры:
ВАЖНО!
Работает только на пользователях, которых администраторами супергруппы назначил бот
Пример кода для копирования:
tg_chat_permission()
Общие ограничения для обычных пользователей чата или для отдельных пользователей Telegram
tg_chat_permission(platform_id, permission, media_permissions)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! permission
массив значений для списка ограничений, приведенного ниже. В массиве значение 1 разрешает действие, а 0 - запрещает. Порядковый номер соответствует позиции в массиве
! media_permissions
список значений прав для работы с медиа (подробнее ниже). В списке значение 1 разрешает действие, а 0 запрещает. Порядковый номер соответствует позиции в списке.
tg_restrict_chat_member()
Персональные ограничения для обычных пользователей чата или для отдельных пользователей 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
список значений для выдачи прав по работе с медиа
Как работать с сообщениями в чате/канале Telegram
tg_pin_chat_message()
Как закрепить сообщение
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()
Как открепить сообщение
tg_unpin_chat_message(platform_id, message_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
message_id
идентификатор сообщения, которое нужно открепить. Если message_id не указан, то будет откреплено самое последнее (по дате отправки) закрепленное сообщение.
tg_unpin_all()
Как открепить все закрепленные сообщения
tg_unpin_all(platform_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
ВНИМАНИЕ!
В Telegram существует ограничение для функций закрепить/открепить сообщение.
Сроки возможности использования функций tg_pin_chat_message / tg_unpin_chat_message / tg_unpin_all ограничиваются НЕ системой Сейлбота.
Если срок обращения к сообщению для закрепления прошел, то функция хотя и вернет true, но для самого Телеграм настройки не будет применены.
Также важно учитывать, что закрепленные сообщения могут сохраниться в кеше и визуально удалиться не сразу.
Как создать/закрыть опрос в чате/канале Telegram
tg_send_poll()
Как создать простой опрос в 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
токен бота, если не передан используется текущий
eply_to_message_id
идентификатор цитируемого сообщения
message_thread_id
идентификатор темы (доступно для супергрупп при наличии функционала форума)
business_connection_id
значение при подключении бота - Business ID - отображается в каналах. Следует передавать, если в параметрах передается токен бота и надо отправить через подключенный к боту пользовательский аккаунт
tg_send_quiz_poll()
Как создать викторину в 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
идентификатор темы (доступно для супергрупп при наличии функционала форума)
tg_stop_poll()
Как завершить опрос
tg_stop_poll(platform_id, message_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_id
идентификатор сообщения с опросом или викториной. Этот идентификатор можно получить из вебхука
Как работать с Форумами/Темами Telegram
1. Как работать с главной темой Telegram
Важно!!!
Главная тема группы не имеет id и для работы с ней есть отдельные функции.
tg_edit_general_forum_topic()
Как переименовать главную Тему группы
tg_edit_general_forum_topic(platform_id, topic_name)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
! topic_name
новое имя темы.
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
tg_close_general_forum_topic()
Как закрыть главную Тему
tg_close_general_forum_topic(platform_id)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
tg_reopen_general_forum_topic()
Как открыть ранее закрытую главную Тему
tg_reopen_general_forum_topic(platform_id)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
tg_hide_general_forum_topic()
Как скрыть главную Тему
tg_hide_general_forum_topic(platform_id)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Суть данной операции в том, что чат Главной темы будет закрыт для участников Темы (можно читать, но нельзя писать) и скрыт из общего списка чатов Telegram для новых пользователей.
tg_unhide_general_forum_topic()
Как отобразить главную Тему или вернуть её видимость
tg_unhide_general_forum_topic(platform_id)
Параметры:
! platform_id
идентификатор Темы внутри Telegram *
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Важно!
Данная функция не открывает главную тему, а только делает ее видимой
2. Как работать с дополнительными темами Telegram
tg_create_forum_topic()
Как создать новую тему Telegram
tg_create_forum_topic(platform_id, name, icon, icon_color)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! name
название новой темы
icon
идентификатор эмодзи, которое будет установлено на тему. Передается в виде строки. Можно использовать только те эмодзи, что есть в списке, полученном функцией tg_get_forum_icon
icon_color
цвет эмодзи из списка: 7322096, 16766590, 13338331, 9367192, 16749490, 16478047. Изменить цвет можно далеко не у всех эмодзи.
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
В результате исполнения функция вернет ответ, содержащий параметры новой темы, в том числе идентификатор темы (нужен для различных функций)
tg_edit_forum_topic()
Как изменить тему. Как переименовать и/или поменять эмодзи для темы
tg_edit_forum_topic(platform_id, message_thread_id, name, icon)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
name
название новой темы
icon
идентификатор эмодзи, которое будет установлено на тему. Передается в виде строки. Можно использовать только те эмодзи, что есть в списке, полученном функцией tg_get_forum_icon
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
tg_close_forum_topic()
Как закрыть выбранную тему
Закрыть тему - это значит оставить ее только для чтения, писать в закрытую тему нельзя
tg_close_forum_topic(platform_id, message_thread_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
tg_reopen_forum_topic()
Как открыть ранее закрытую тему
tg_reopen_forum_topic(platform_id, message_thread_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
tg_delete_forum_topic()
Как удалить тему со всеми сообщениями
tg_delete_forum_topic(platform_id, message_thread_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
tg_unpin_topic_messages()
Как открепить все сообщения темы
tg_unpin_topic_messages(platform_id, message_thread_id)
Параметры:
! platform_id
идентификатор чата внутри Telegram *
! message_thread_id
идентификатор чата дополнительной темы
bot_name
необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
3. Как получить список эмодзи для Темы Telegram
tg_get_forum_icon()
Как получить список эмодзи
tg_get_forum_icon() - функция вернет какие эмодзи можно ставить на иконки тем форумов. Необходимо присвоить функцию переменной, так как в ответ будет словарь, в котором ключом будет эмодзи, а значением идентификатор этого эмодзи id
Параметры: без параметров.
Last updated
Was this helpful?