Функции работы в чатах и каналах 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

Как создать ссылку на вступление в чат в 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

tg_approve_chat_join_request()

Как принять заявку и добавить пользователя в канал/чат в Telegram

tg_approve_chat_join_request(chat_id, user_id)

Параметры:

! chat_id

идентификатор группы/канала внутри Telegram *

! user_id

идентификатор пользователя внутри Telegram *

Прием заявки:

tg_decline_chat_join_request()

Как отклонить заявку в канал/чат в Telegram

tg_decline_chat_join_request(chat_id, user_id)

Параметры:

! chat_id

идентификатор группы/канала внутри Telegram *

! user_id

идентификатор пользователя внутри Telegram *

Отклонение заявки

Как работать с подписчиками чата/канала Telegram

tg_ban_chat_member()

Как заблокировать пользователя в Telegram

tg_ban_chat_member(chat_id, user_id, hours)

Параметры:

Параметр
Описание

! chat_id

идентификатор чата внутри Telegram *

! user_id

идентификатор пользователя внутри Telegram * для блокировки

hours

длительность блокировки в часах. По умолчанию блокировка навечно. При указании длительности блокировки свыше 366 дней блокировка будет установлена навечно

tg_unban_chat_member()

Как разблокировать пользователя в Telegram

tg_unban_chat_member(chat_id, user_id)

Параметры:

Параметр
Описание

! chat_id

идентификатор чата внутри Telegram *

! user_id

идентификатор пользователя внутри Telegram *, которого необходимо разблокировать

tg_get_chat_member()

Как проверить наличие подписки в Telegram

tg_get_chat_member(chat_id, user_id)

Параметры:

Параметр
Описание

! chat_id

идентификатор чата внутри Telegram *

! user_id

идентификатор пользователя внутри Telegram *, подписку которого проверяем

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

идентификатор темы (доступно для супергрупп при наличии функционала форума).

Список возможных действий 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 секунд.

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

Пример

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")

Если все подготовлено правильно, то результатом нажатия на кнопку будет Alert-уведомление с заданным текстом. В мобильной версии имя бота будет как заголовок над текстом.

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

В случае нажатия на кнопку при таких параметрах на несколько секунд появится уведомление такого вида.

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

Пример

В реакции на 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

tg_promote_user()

Как повысить пользователя до администратора в супергруппе или канале в Telegram

tg_promote_user(platform_id, user_id, promote_options_list)

Параметры:

Параметр
Описание

! platform_id

идентификатор супергруппы или, если используете в канале, имя канала вида @channelusername, внутри Telegram *

! user_id

идентификатор пользователя внутри Telegram *

! promote_options_list

список прав, которые нужно включить.

Списки прав обязательного параметра promote_options_list

В списке прав promote_options_list можно указать следующие права:

  1. is_anonymous — присутствие администратора в чате скрыто,

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

  3. can_post_messages — администратор может создавать сообщения канала, только для каналов

  4. can_edit_messages — администратор может редактировать сообщения других пользователей и может закреплять сообщения, только для каналов

  5. can_delete_messages — администратор может удалять сообщения других пользователей

  6. can_manage_video_chats — администратор может управлять видеочатами,

  7. can_restrict_members — администратор может ограничивать, ставить/отменять бан участникам чата,

  8. can_promote_members — администратор может добавлять новых администраторов с подмножеством их собственных привилегий или понижать в должности администраторов, которых он повысил, прямо или косвенно (повысили администраторы, которые были им назначены)

  9. can_change_info — администратор может изменить название чата, фото и другие настройки

  10. can_invite_users — администратор может приглашать новых пользователей в чат

  11. can_pin_messages — администратор может закреплять сообщения, только для супергруппы.

Пример

Разберем пример как повысить пользователя до администратора в супергруппе:

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

Назначение прав пользователю
Установка титула администратору

Пример кода для копирования

Пример 1. 
promote_options_list = ‘[“can_promote_members”,”can_change_info”,”can_invite_users”]’ 
tg_promote_user(platform_id, user_id, promote_options_list)

Пример 2. 
promote_options_list = '["can_manage_chat","can_post_messages","can_edit_messages","can_delete_messages","can_manage_video_chats","can_promote_members","can_restrict_members","can_invite_users","can_pin_messages"]' 
result=tg_promote_user(platform_id, reply_from, promote_options_list)  

tg_set_administrator_title()

Как изменить титул администратора с помощью бота в Telegram

tg_set_administrator_title(platform_id, user_id, title)

Параметры:

Параметр
Описание

! platform_id

идентификатор супергруппы внутри Telegram *

! user_id

идентификатор пользователя внутри Telegram *

! title

титул администратора. Для титула есть следующие ограничения: 0-16 символов, эмодзи не разрешены.

Пример кода для копирования:

result=tg_set_administrator_title(platform_id, reply_from, "огоньтитул")

tg_chat_permission()

Общие ограничения для обычных пользователей чата или для отдельных пользователей 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 - разрешение отправлять голосовые сообщения

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

список значений для выдачи прав по работе с медиа

Список ограничений для параметра 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 минуты:

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

Код для копирования:

permission = [0, 0, 0, 0, 0, 0, 0, 0] 
tg_restrict_chat_member(-1001607137668, 473737685, 3, permission)

Как работать с сообщениями в чате/канале 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_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 - отображается в каналах. Следует передавать, если в параметрах передается токен бота и надо отправить через подключенный к боту пользовательский аккаунт

Важно учитывать!

Примечания

1. Функция возвращает ответ от телеграма, в котором есть message_id, его лучше сохранять, так как с его помощью можно будет завершить опрос функцией tg_stop_poll (описание ниже) и получить результат.

2. Если опрос добавлен пользователем в канал, то в диалог придет колбек:

poll_added - неизменная часть Вопрос - текст вопроса из опроса

Пример колбека при добавлении опроса в канал
Пример колбека при добавлении опроса в чат

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

3. В канале можно создавать только анонимные опросы

Внимание, рекомендуется отправлять в группу только анонимные опросы!

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

Пример в боте

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

Пример кода для копирования:

/*Пример создания простого опроса*/
options = ["белый", "красный", "синий", "зеленый"] 
opros1=tg_send_poll(platform_id, 'Ваш любимый цвет?', options, 1, '', '', 1, '')
Функция создания опроса в Telegram
Созданный нами опрос в Telegram

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

идентификатор темы (доступно для супергрупп при наличии функционала форума)

Важно учитывать!

Примечания

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. После создания викторины сохраните в переменную его идентификатор, чтобы понимать на какой опрос пришел колбек.

Пример для бот

Пример кода для копирования:

/*Пример создание Викторины*/
options = ["белый", "красный", "синий", "зеленый"] 
r = tg_send_quiz_poll(platform_id, 'Какого цвета крокодил?', options, 'Вот такое вот объяснение.', 4, '', '', '', '', 1)

Пример создания Викторины:

tg_stop_poll()

Как завершить опрос

Когда опрос или викторина завершаются этой функцией в ответ приходит словарь с результатом опроса.

tg_stop_poll(platform_id, message_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор чата внутри Telegram *

! message_id

идентификатор сообщения с опросом или викториной. Этот идентификатор можно получить из вебхука

Как работать с Форумами/Темами Telegram

1. Как работать с главной темой Telegram

tg_edit_general_forum_topic()

Как переименовать главную Тему группы

tg_edit_general_forum_topic(platform_id, topic_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()

Как закрыть главную Тему

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()

Как открыть ранее закрытую главную Тему

tg_reopen_general_forum_topic(platform_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор Темы внутри Telegram *

bot_name

необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"

Пример кода для копирования

/открыть чат главной Темы/ answer = tg_reopen_general_forum_topic(-1001839380031)

tg_hide_general_forum_topic()

Как скрыть главную Тему

tg_hide_general_forum_topic(platform_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор Темы внутри Telegram *

bot_name

необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"

Суть данной операции в том, что чат Главной темы будет закрыт для участников Темы (можно читать, но нельзя писать) и скрыт из общего списка чатов Telegram для новых пользователей.

Пример кода для копирования

/скрыть чат главной Темы/ answer = tg_hide_general_forum_topic(-1001839380031)

tg_unhide_general_forum_topic()

Как отобразить главную Тему или вернуть её видимость

tg_unhide_general_forum_topic(platform_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор Темы внутри Telegram *

bot_name

необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"

Пример кода для копирования

/отобразить чат главной Темы/ answer = tg_unhide_general_forum_topic(-1001839380031)

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"

Изменить установленный цвет нельзя, цвет задается только в момент создания темы

В результате исполнения функция вернет ответ, содержащий параметры новой темы, в том числе идентификатор темы (нужен для различных функций)

Пример для бота

Давайте создадим чат дополнительной темы:

Создание новой темы

Переменная 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()

Как изменить тему. Как переименовать и/или поменять эмодзи для темы

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"

Пример кода для копирования

answer = tg_edit_forum_topic(-1001839380031, 254)

tg_close_forum_topic()

Как закрыть выбранную тему

Закрыть тему - это значит оставить ее только для чтения, писать в закрытую тему нельзя

tg_close_forum_topic(platform_id, message_thread_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор чата внутри Telegram *

! message_thread_id

идентификатор чата дополнительной темы

bot_name

необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"

Пример кода для копирования

answer = tg_close_forum_topic(-1001839380031, 254)

tg_reopen_forum_topic()

Как открыть ранее закрытую тему

tg_reopen_forum_topic(platform_id, message_thread_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор чата внутри Telegram *

! message_thread_id

идентификатор чата дополнительной темы

bot_name

необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"

Пример кода для копирования

answer = tg_reopen_forum_topic(-1001839380031, 254)

tg_delete_forum_topic()

Как удалить тему со всеми сообщениями

tg_delete_forum_topic(platform_id, message_thread_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор чата внутри Telegram *

! message_thread_id

идентификатор чата дополнительной темы

bot_name

необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"

Пример кода для копирования

answer = tg_delete_forum_topic(-1001839380031, 254)

tg_unpin_topic_messages()

Как открепить все сообщения темы

tg_unpin_topic_messages(platform_id, message_thread_id)

Параметры:

Параметр
Описание

! platform_id

идентификатор чата внутри Telegram *

! message_thread_id

идентификатор чата дополнительной темы

bot_name

необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"

Пример кода для копирования

answer = tg_unpin_topic_messages(-1001839380031, 254)

3. Как получить список эмодзи для Темы Telegram

tg_get_forum_icon()

Как получить список эмодзи

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'}

Пример кода для копирования
answer = tg_get_forum_icon()

Last updated

Was this helpful?