API Telegram (функции для использования всех возможностей Телеграм)
функции API существенно расширяют возможности работы бота в Telegram
Содержание:
Первоисточник - Telegram bot API
ОБОЗНАЧЕНИЯ:
! - Обязательные параметры
параметр=None - так указывается значение по умолчанию для обозначенного параметра, т.е. неправильно просто копировать текст функции из документации tg_send_message(platform_id, "Какой то текст", client_message_id=61818138, reply_markup=None, parse_mode=None, disable_web_page_preview=0, protect_content=False) После знаков равно указаны значения по умолчанию для каждого параметра, следовательно, если Вам не нужен тот или иной параметр, но нужен какой-либо из последующих, то нельзя просто опустить его - следует указать вместо него значение по умолчанию для данного параметра. Таким образом, правильным будет ввод: tg_send_message(platform_id, "Какой то текст", 61818138, None, None, 0, True)
ОБЩАЯ ИНФОРМАЦИЯ:
* Где взять platform_id для отправки уведомлений
У вас должен быть подключен телерам-бот к проекту
В этого бота нужно прислать любое сообщение с того Telegram-аккаунта, куда должны приходить сообщения
В списке клиентов проекта выбираете диалог клиента, которому будете отправлять заявки
Копируете значение ID в мессенджере
** Как прописывать кнопки в параметре reply_markup
Пример reply-кнопок:
opts = {"keyboard": [[{"text": "Налево"}, {"text": "Направо"}]]}
Пример inline-кнопок:
opts = {"inline_keyboard": [[{"text": "Пакет 1","callback_data":1}, {"text": "Пакет 2","callback_data":2}]]}
*** Как использовать разметку текста (markdown) в параметре parse_mode
parse_mode выделяет весь текст/его часть курсивом или жирным шрифтом. Может иметь значения html, markdown, markdownV2.
Если выбираете html:
для жирного шрифта используете "<b>caption</b>"
для курсива "<i>caption</i>"
Для Markdown:
для жирного шрифта используете "*caption*"
для курсива "_caption_"
Пример отправки курсивного текста:
tg_send_message(47615196, "<i>курсив</i>",None,None,"html")
Пример отправки жирного текста:
tg_send_message(platform_id, '*test*', None, None, 'markdown')
Как работать с описанием бота Telegram (полное,краткое)
tg_set_bot_description()
tg_set_bot_short_description()
tg_get_bot_description()
tg_get_bot_short_description()
Установка приветственного сообщения
tg_set_bot_description(description, language_code) - описание бота, показываемое когда чат с ботом пуст
Параметры:
description — описание бота, если передать пустую строку, то это удалит соответствующее описание
language_code - двухбуквенный код языка по стандарту ISO 639-1, для локализации текста. Если пусто, краткое описание будет применяться ко всем пользователям, для которых нет специального краткого описания.
Установка описания для превью ссылки
tg_set_bot_short_description(description, language_code) - краткое описание бота, которое отображается на странице профиля бота и отправляется вместе со ссылкой, когда пользователи делятся ботом.
Параметры:
description — описание бота, если передать пустую строку, то это удалит соответствующее описание
language_code - двухбуквенный код языка по стандарту ISO 639-1, для локализации текста. Если пусто, краткое описание будет применяться ко всем пользователям, для которых нет специального краткого описания.
Получение текущего описания
tg_get_bot_description(language_code) - Используйте этот метод, чтобы получить текущее описание бота для данного пользовательского языка
Параметры:
language_code - двухбуквенный код языка по стандарту ISO 639-1, для локализации текста. Если пусто, краткое описание будет применяться ко всем пользователям, для которых нет специального краткого описания.
Получение текущего краткого описания
tg_get_bot_short_description(language_code) - Используйте этот метод, чтобы получить текущее краткое описание бота для данного пользовательского языка
Параметры:
language_code - двухбуквенный код языка по стандарту ISO 639-1, для локализации текста. Если пусто, краткое описание будет применяться ко всем пользователям, для которых нет специального краткого описания.
Как работать с чатами/каналами Telegram
Так как внутри Salebot идентификаторы клиентов (пользователей, групп, каналов) внутри мессенджера записываются в переменной platform_id без каких-либо меток чему это принадлежит группе или пользователю, то для работы с функциями принятия/отклонения заявки требуется единожды запомнить значения platform_id чата и platform_id пользователя в переменные с разными именами, например, chat_id и user_id.
Как изменить настройки чата/канала Telegram
tg_set_group_title()
tg_set_chat_description()
tg_set_chat_photo()
tg_delete_chat_photo()
Как поменять имя чата через бот в 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 — идентификатор чата, в котором Вы хотите установить аватарку, photo — ссылка на фото.
Как удалить аватарку группы/чата в Telegram
tg_delete_chat_photo(platform_id)
Параметры: ! platform_id — идентификатор чата внутри Telegram *
Как забанить/разбанить группу Telegram
tg_ban_chat_sender_chat()
tg_unban_chat_sender_chat
Как забанить группу Telegram
tg_ban_chat_sender_chat(platform_id, sender_chat_id)
Параметры: ! platform_id - идентификатор чата, в котором баним ! sender_chat_id - идентификатор чата, который баним
При этом владелец забаненного чата не сможет писать и от имени других своих чатов до тех пор, пока не будет разбанен
Как разбанить группу Telegram
tg_unban_chat_sender_chat(platform_id, sender_chat_id)
Параметры: ! platform_id - идентификатор чата, в котором разбаниваем ! sender_chat_id - идентификатор чата, который разбаниваем
Как работать с ссылками на чат/канал Telegram
tg_create_chat_invite_link()
tg_revoke_chat_invite_link()
tg_export_chat_link()
Как создать ссылку на вступление в чат в 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 *
Результат - ссылка, которая будет единственным способом попасть в группу до тех пор, пока не будут созданы дополнительные ссылки прочими способами.
Как работать с заявками в чат/канал Telegram
tg_approve_chat_join_request()
tg_decline_chat_join_request()
Как принять заявку и добавить пользователя в канал/чат в Telegram tg_approve_chat_join_request(chat_id, user_id)
Параметры: ! chat_id - идентификатор группы/канала внутри Telegram * ! user_id - идентификатор пользователя внутри Telegram *
Как отклонить заявку в канал/чат в Telegram
tg_decline_chat_join_request(chat_id, user_id)
Параметры: ! chat_id - идентификатор группы/канала внутри Telegram * ! user_id - идентификатор пользователя внутри Telegram *
Как работать с подписчиками чата/канала Telegram
tg_ban_chat_member()
tg_unban_chat_member()
tg_get_chat_member()
tg_get_chat_member_count()
some_client_in_list()
Как заблокировать пользователя в Telegram
tg_ban_chat_member(chat_id, user_id, hours)
Параметры: ! chat_id — идентификатор чата внутри Telegram * ! user_id - идентификатор пользователя внутри Telegram * для блокировки hours - длительность блокировки в часах. По умолчанию блокировка навечно. При указании длительности блокировки свыше 366 дней блокировка будет установлена навечно
Как разблокировать пользователя в Telegram
tg_unban_chat_member(chat_id, user_id)
Параметры: ! chat_id — идентификатор чата внутри Telegram * ! user_id — iидентификатор пользователя внутри Telegram * , которого необходимо разблокировать
Как проверить наличие подписки в Telegram
tg_get_chat_member(chat_id, user_id)
Параметры: ! chat_id — идентификатор чата внутри Telegram * ! user_id — идентификатор пользователя внутри Telegram *, подписку которого проверяем
Как определить число участников в канале/чате
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()
tg_answer_callback_query()
tg_callback_url_open()
Как показать пользователю действия бота (печатает/выбирает стикер и т.д)
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
Как в реакции на callback-кнопку добавить переход в бота с тэгом
tg_callback_url_open(callback_query_id, url)
Параметры: ! callback_query_id - данный id позволяет идентифицировать нажавшего кнопку и продемонстрировать ему Alert-уведомление, ! url - URL-адрес, указывающий бота и параметр (выглядит так: t.me/your_bot?start=XXXX, вместо your_bot - имя бота)
Как настроить права в чате/канале Telegram
tg_promote_user()
tg_set_administrator_title()
tg_chat_permission()
tg_set_administrator_title()
tg_chat_permission()
tg_restrict_chat_member()
Как повысить пользователя до администратора в супер-группе или канале в Telegram
tg_promote_user(platform_id, user_id, promote_options_list)
Параметры: ! platform_id — идентификатор супергруппы или, если используете в канале, имя канала вида @channelusername, внутри Telegram * ! user_id — идентификатор пользователя внутри Telegram * ! 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 — администратор может закреплять сообщения, только для супергруппы.
Как изменить титул администратора с помощью бота в Telegram
tg_set_administrator_title(platform_id, user_id, title)
Параметры: ! platform_id — идентификатор супергруппы внутри Telegram * ! user_id — идентификатор пользователя внутри Telegram * ! title — титул администратора. Для титула есть следующие ограничения: 0-16 символов, эмодзи не разрешены.
Работает только на пользователях, которых администраторами супергруппы назначил бот
Общие ограничения для обычных пользователей чата или для отдельных пользователей Telegram
tg_chat_permission(platform_id, permission, media_permissions)
Параметры: ! platform_id - идентификатор чата внутри Telegram * ! permission - массив значений для списка ограничений, приведенного ниже. В массиве значение 1 разрешает действие, а 0 - запрещает. Порядковый номер соответствует позиции в массиве ! media_permissions - список значений прав для работы с медиа (подробнее ниже). В списке значение 1 разрешает действие, а 0 запрещает. Порядковый номер соответствует позиции в списке.
Список ограничений 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:
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 - список значений для выдачи прав по работе с медиа
Как работать с сообщениями в чате/канале Telegram
tg_pin_chat_message()
tg_unpin_chat_message()
tg_unpin_all()
Как закрепить сообщение
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 *
Как установить/просмотреть/удалить команды для бота
tg_set_command()
tg_get_command()
tg_delete_command()
Для установки команд
tg_set_command(commands, language, scope, platform_id, user_id)
Параметры: ! commands — команды для бота в виде списка списков, каждый вложенный список состоит из 2 элементов: 1 - наименование команды, 2 - ее описание (существует ограничение в 100 команд),
language – двухбуквенный код языка ISO 639-1, например 'ru' или 'en' Если не указан, то команды будут применяться ко всем пользователям из области, для языка которых нет выделенных команд),
scope – параметр описывающий круг пользователей, для которых создаются команды. Значение по умолчанию 'default'
platform_id - идентификатор чата внутри Telegram *. Применяется только при определенных значениях параметра scope
user_id – идентификатор пользователя внутри Telegram * . Применяется только при определенных значениях параметра scope.
Как настроить реакцию на команды
Для команд в переписке с ботом реагировать нужно на сообщения вида: '/command_name' – в этом примере command_name – команда.
для команд в чатах при вводе команды будут приходить сообщения вида:
Для команд в группах и чатах реагировать нужно на сообщения вида:
'/command_name@bot_username' – в этом примере command_name – команда, а @bot_username – username бота.
Список значений scope:
'default' - параметр по-умолчанию, подразумевает что команды будут работать в личных сообщениях с ботом.
'all_private_chats' – все закрытые чаты, команды доступны всем в закрытых чатах, в которых добавлен бот.
'all_group_chats' – все групповые и супергрупповые чаты, команды доступны всем в указанных видах чатов, в которых добавлен бот.
'all_chat_administrators' – команды для администраторов всех групповых и супергрупповых чатов, в которых добавлен бот.
'chat' – команды для определенного чата (если выбрали данный вариант, то необходимо указать platform_id).
'chat_administrators' – команды для администраторов определенного чата (если выбрали данный вариант, то необходимо указать platform_id).
'chat_member' – команды для конкретного участника определенного чата (если выбрали данный вариант, то необходимо указать platform_id и user_id, указанный пользователь должен состоять в указанном чате).
Если Вы не хотите использовать параметр language, но при этом используете параметр scope, то не забудьте указать после команд пустой параметр, как в примере: tg_set_command(command, '', scope)
Для просмотра команд
tg_get_command(language, scope, platform_id, user_id)
Параметры: language – двухбуквенный код языка ISO 639-1, например 'ru' или 'en' Если не указан, то будут показаны команды, применяемые ко всем пользователям из заданной области, для языка которых нет выделенных команд),
scope – параметр описывающий круг пользователей, для которых должны быть показаны команды(необязательный параметр, если не используете, то по умолчанию будет применено значение 'default'),
platform_id - идентификатор чата внутри Telegram * Применяется только при определенных значениях параметра scope,
user_id – идентификатор пользователя внутри Telegram * Применяется только при определенных значениях параметра scope.
Если Вы не хотите использовать параметр language, но при этом используете параметр scope, то не забудьте указать в начале пустой параметр, как в примере:
tg_get_command('', scope)
Для удаления команд
tg_delete_command(language, scope, platform_id, user_id), где
language – двухбуквенный код языка ISO 639-1, например 'ru' или 'en' (необязательный параметр, если не указан, то будут удалены команды, которые применяться ко всем пользователям из заданной области, для языка которых нет выделенных команд),
scope – параметр описывающий круг пользователей, для которых удаляются команды Если не используете, то по умолчанию будет применено значение 'default'
platform_id - идентификатор чата (необязательный параметр, применяется только при определенных значениях параметра scope),
user_id – идентификатор пользователя (необязательный параметр, применяется только при определенных значениях параметра scope). Если Вы не хотите использовать параметр language, но при этом используете параметр scope, то не забудьте указать в начале пустой параметр, как в примере:
tg_delete_command('', scope)
Команда вида tg_delete_command() удалит команды без указания параметра language из параметра scope по умолчанию.
Как создать/закрыть опрос в чате/канале Telegram
tg_send_poll()
tg_send_quiz_poll()
tg_stop_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 - токен бота, если не передан используется текущий
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. В канале можно создавать только анонимные опросы
Внимание, рекомендуется отправлять в группу только анонимные опросы!
6. После создания опроса в переменную сохраните его идентификатор, чтоб понимать на какой опрос пришел колбек.
Как создать викторину в 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 - ид цитируемого сообщения
message_thread_id — идентификатор темы (доступно для супергрупп при наличии функционала форума)
open_period - время для прохождения викторины/теста; передается числовое значение от 5 до 600, равное количеству секунд.
business_connection_id - значение при подключении бота - Business ID - отображается в каналах. Следует передавать, если в параметрах передается токен бота и надо отправить через подключенный к боту пользовательский аккаунт
Примечания
1. Функция возвращает ответ от Telegram, в котором есть message_id, его лучше сохранять, так как с его помощью можно будет завершить викторину функцией tg_stop_poll (описание ниже) и получить результат.
2. Если опрос добавлен пользователем в канал, то в диалог придет колбек: poll_added - неизменная часть Вопрос - вопрос опроса
Если опрос создан в чате, то колбек дополнительно будет содержать цифры - это идентификатор пользователя в Telegram, который добавил опрос.
При создании опроса ботом колбек не приходит.
3. В канале можно создавать только анонимные викторины
4. Если викторина была отправлена в диалог пользователя с ботом или в чат группы, то колбек о выбранном ответе придет в диалог бота с клиентом и будет иметь следующий вид:
Нумерация ответов начинается с 0. poll_answer 5325838371359031648 [3]
poll_answer - неизменяемая часть 5325838371359031648 - идентификатор викторины [3] - ответ
5. Если неанонимный опрос был создан в группе (не важно функцией или пользователем), в которой состоит в качестве администратора бот, то на каждый голос будет отправлен вебхук, при получении которого в диалог бота с клиентом будет отправлен колбек из пункта 4. Если клиент не контактировал с ботом, то отправить ему что-либо в ответ не получится, пока клиент не активирует бота.
Внимание рекомендуется отправлять в группу только анонимные викторины!
6. После создания викторины сохраните в переменную его идентификатор, чтобы понимать на какой опрос пришел колбек.
Как завершить опрос
Когда опрос или викторина завершаются этой функцией в ответ приходит словарь с результатом опроса.
tg_stop_poll(platform_id, message_id)
Параметры: ! platform_id - идентификатор чата внутри Telegram * ! message_id - идентификатор сообщения с опросом или викториной. Этот идентификатор можно получить из вебхука
Как работать с Форумами/Темами Telegram
Как работать с главной темой Telegram
tg_edit_general_forum_topic()
tg_close_general_forum_topic()
tg_reopen_general_forum_topic()
tg_hide_general_forum_topic()
tg_unhide_general_forum_topic()
Важно!!! Главная тема группы не имеет id и для работы с ней есть отдельные функции.
Как переименовать главную Тему группы
tg_edit_general_forum_topic(platform_id, topic_name)
Параметры:
! platform_id - идентификатор Темы внутри Telegram *
! topic_name - новое имя темы.
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как закрыть главную Тему
tg_close_general_forum_topic(platform_id)
Параметры:
! platform_id - идентификатор Темы внутри Telegram *
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как открыть ранее закрытую главную Тему
tg_reopen_general_forum_topic(platform_id)
Параметры:
! platform_id - идентификатор Темы внутри Telegram *
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID
Как скрыть главную Тему
tg_hide_general_forum_topic(platform_id)
Параметры:
! platform_id - идентификатор Темы внутри Telegram *
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Суть данной операции в том, что чат Главной темы будет закрыт для участников Темы (можно читать, но нельзя писать) и скрыт из общего списка чатов Telegram для новых пользователей.
Как отобразить главную Тему или вернуть её видимость
tg_unhide_general_forum_topic(platform_id)
Параметры:
! platform_id - идентификатор Темы внутри Telegram *
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Важно! эта функция не открывает главную тему, а только делает ее видимой
Как работать с дополнительными темами Telegram
tg_create_forum_topic()
tg_edit_forum_topic()
tg_close_forum_topic()
tg_reopen_forum_topic()
tg_delete_forum_topic()
tg_unpin_topic_messages()
Как создать новую тему 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(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(platform_id, message_thread_id)
Параметры:
! platform_id - идентификатор чата внутри Telegram *
! message_thread_id - идентификатор чата дополнительной темы
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как открыть ранее закрытую тему
tg_reopen_forum_topic(platform_id, message_thread_id)
Параметры:
! platform_id - идентификатор чата внутри Telegram *
! message_thread_id - идентификатор чата дополнительной темы
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как удалить тему со всеми сообщениями
tg_delete_forum_topic(platform_id, message_thread_id)
Параметры:
! platform_id - идентификатор чата внутри Telegram *
! message_thread_id - идентификатор чата дополнительной темы
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как открепить все сообщения темы
tg_unpin_topic_messages(platform_id, message_thread_id)
Параметры:
! platform_id - идентификатор чата внутри Telegram *
! message_thread_id - идентификатор чата дополнительной темы
bot_name - необязательный параметр, наименование бота. При работе с темами можно указать наименование бота, от имени которого нужно выполнить функцию. Это может пригодиться, если к проекту подключены более одного телеграм бота. Наименование бота можно найти в разделе "Каналы", поле "Group ID"
Как получить список эмодзи для Темы Telegram
tg_get_forum_icon()
Как получить список эмодзи
tg_get_forum_icon()
Параметры: без параметров.
Вернет какие эмодзи можно ставить на иконки тем форумов. Необходимо присвоить функцию переменной, так как в ответ будет словарь, в котором ключом будет эмодзи, а значением идентификатор этого эмодзи id
Last updated