tg_client WebSocket: Unified Domain Catalog

← До головних розділів Auth Services Media Uploads Повний Core Reference

Всі запити перенесені з docs_ws_domain_core.html в категорійні блоки. Для кожного action є параметри, відповідь, опис і приклад запиту.

Локально знайдено: 0

Нічого не знайдено. Спробуйте коротший запит або інші ключові слова.

Глобальні Результати Документації

Індексація документації...

Збігів: 0

Session & Bootstrap (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
open_clientuserbot_idПочинає стрім подій у цей WS (початково connected)Підписує consumer на chat_list_updates для вказаного userbot.
{
  "action": "open_client",
  "userbot_ids": [1,2,3]
}
get_active_sessionsuserbot_idget_active_sessions / get_active_sessions_errorПовертає активні Telegram-сесії поточного акаунта. У результаті є масив sessions, окремо current_session, other_sessions і inactive_session_ttl_days. Також приймається alias get_sessions.
{"action":"get_active_sessions","userbot_id":1}
terminate_sessionuserbot_id, session_idterminate_session / terminate_session_errorЗавершує конкретну Telegram-сесію за session_id. Також приймається alias delete_session.
{"action":"terminate_session","userbot_id":1,"session_id":987654321}
set_session_settingsuserbot_id, session_id, опц. can_accept_calls, can_accept_secret_chatsset_session_settings / set_session_settings_errorОновлює налаштування конкретної сесії: приймати дзвінки і/або нові secret chats. Потрібно передати хоча б одне поле. Також приймається alias update_session_settings.
{"action":"set_session_settings","userbot_id":1,"session_id":987654321,"can_accept_calls":false,"can_accept_secret_chats":true}
terminate_all_other_sessionsuserbot_idterminate_all_other_sessions / terminate_all_other_sessions_errorЗавершує всі інші Telegram-сесії, крім поточної. Також приймається alias terminate_all_sessions.
{"action":"terminate_all_other_sessions","userbot_id":1}
get_chatsuserbot_id, опц. chat_listget_chats (один батч з items[]), або get_chats_errorВіддає список чатів з останнім повідомленням і метаданими одним батчем: count, chat_ids[], items[].
{"action":"get_chats","userbot_id":1}
get_recently_opened_chatsuserbot_id, опц. limitget_recently_opened_chats (потік елементів чату), або get_recently_opened_chats_errorВіддає нещодавно відкриті приватні чати (TDLib getRecentlyOpenedChats + фільтр chatTypePrivate).
{"action":"get_recently_opened_chats","userbot_id":1,"limit":20}

Dialogs & Search (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
open_dialoguserbot_id, chat_id, опц. from_message_id, message_thread_id, limit, offset, center_message_id, window_before, window_after, pinned_limitПотік: dialog_access, message, опц. pinned_message, pagination_setup, dialog_end; або dialog_empty/dialog_errorЗавантажує історію чату/топіку, мапить у domain payload і надсилає порціями. dialog_access приходить першим і містить ефективні права поточного користувача для обмеження UI. Для окремого списку тем форуму використовуйте get_forum_topics. У message.sender.avatar приходить тільки meta фото відправника без auto-download. Для post/thread повідомлень може бути comments_meta з discussion_chat_id, message_thread_id, comment_count.
{"action":"open_dialog","userbot_id":1,"chat_id":"123","from_message_id":"0"}
get_forum_topicsuserbot_id, chat_idget_forum_topics / get_forum_topics_errorПовертає окремим запитом список topic payload для forum/supergroup. Використовуйте для екрана списку тем замість побічного payload з open_dialog.
{"action":"get_forum_topics","userbot_id":1,"chat_id":"-1001234567890"}
open_commentsuserbot_id, comments_meta або discussion_chat_id + message_thread_id, опц. from_message_id, limit, offset, center_message_id, window_before, window_after, pinned_limitПотік: dialog_access, comments_access, message, pagination_setup, dialog_end; або dialog_empty/dialog_errorВідкриває коментарі поста як окремий thread у discussion chat. comments_access дублює ефективні permission-дані для composer/comments UI та додатково містить discussion_chat_id і message_thread_id.
{"action":"open_comments","userbot_id":1,"comments_meta":{"discussion_chat_id":"-100999000777","message_thread_id":"9001"},"limit":50}
search_messages_in_chatuserbot_id, chat_id, опц. query, filter/search_filter, limit, from_message_id, offset, message_thread_idsearch_messages_in_chat / search_messages_in_chat_errorПошук повідомлень у чаті через TDLib searchChatMessages з підтримкою searchMessagesFilter* і поверненням повідомлень у форматі domain payload.
{"action":"search_messages_in_chat","userbot_id":1,"chat_id":"123","query":"при","limit":30}
search_messages_globaluserbot_id, опц. query, filter/search_filter, limit, offset_date, offset_chat_id, offset_message_id, chat_listsearch_messages_global / search_messages_global_errorГлобальний пошук повідомлень по діалогах через TDLib searchMessages з підтримкою searchMessagesFilter* і поверненням нормалізованих message payload.
{"action":"search_messages_global","userbot_id":1,"query":"при","limit":30}
get_chat_recent_actionsuserbot_id, chat_id, опц. query, from_event_id, limit, user_ids[], event_filtersget_chat_recent_actions / get_chat_recent_actions_error“Недавні дії” (TDLib getChatEventLog) для каналу/супергрупи. Повертає сирі події логу та next_from_event_id для пагінації. Потребує прав адміністратора.
{"action":"get_chat_recent_actions","userbot_id":1,"chat_id":"-1001234567890","limit":50}

Messages CRUD (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
send_messageuserbot_id, chat_id, text, опц. entities, media/media_items, reply_tosend_message / send_message_errorВідправляє текстове або media повідомлення в чат. Підтримує reply в інший чат через reply_to і альбоми через media_items.
{"action":"send_message","userbot_id":1,"chat_id":"222222","text":"Cross-chat reply","reply_to":{"replyToChatId":"111111","replyToMsgId":"555"}}
send_commentuserbot_id, comments_meta або discussion_chat_id + message_thread_id, і той самий payload, що для send_message: text, entities, media, media_items, reply_to, reply_markup, options, ...send_comment / send_comment_errorВідправляє повідомлення у comments thread поста в linked discussion chat. Підтримує файли, entities, albums і той самий набір send-полів, що й send_message.
{"action":"send_comment","userbot_id":1,"discussion_chat_id":"-100999000777","message_thread_id":"9001","text":"Файл у comments","entities":[{"offset":0,"length":4,"type":{"@type":"textEntityTypeBold"}}],"media":{"type":"document","key":"tg/outgoing/userbot_1/chat_123/document/report.pdf","file_name":"report.pdf"}}
reply_messageuserbot_id, chat_id, reply_to_message_id, textreply_message / reply_message_errorВідправляє reply на конкретний message.
{"action":"reply_message","userbot_id":1,"chat_id":"123456","reply_to_message_id":"555","text":"Відповідь"}
edit_messageuserbot_id, chat_id, message_id, textedit_message / edit_message_errorРедагує повідомлення.
{"action":"edit_message","userbot_id":1,"chat_id":"123456","message_id":"555","text":"Оновлений текст"}
delete_messagesuserbot_id, chat_id, message_ids[], опц. revokedelete_messages / delete_messages_errorВидаляє один або кілька меседжів.
{"action":"delete_messages","userbot_id":1,"chat_id":"123456","message_ids":["555","556"],"revoke":true}
forward_messageuserbot_id, to_chat_ids[], from_chat_id, message_ids[], опц. send_copy/without_sender, remove_caption/without_caption, new_caption, show_caption_above_mediaforward_message / forward_message_errorФорвардить повідомлення в один або кілька чатів. Підтримує режим “без імені відправника” через send_copy і режим “без опису” через remove_caption.
{"action":"forward_message","userbot_id":1,"to_chat_ids":["111","222"],"from_chat_id":"123456","message_ids":["555"],"without_sender":true,"without_caption":true}
pin_messageuserbot_id, chat_id, message_id, опц. disable_notification, only_for_selfpin_message / pin_message_errorЗакріплює message у чаті.
{"action":"pin_message","userbot_id":1,"chat_id":"123456","message_id":"555","disable_notification":false,"only_for_self":false}
unpin_messageuserbot_id, chat_id, message_idunpin_message / unpin_message_errorВідкріплює message.
{"action":"unpin_message","userbot_id":1,"chat_id":"123456","message_id":"555"}
set_reactionuserbot_id, chat_id, message_id, reaction, опц. is_big, add_to_recentset_reaction / set_reaction_errorСтавить реакцію на message через TDLib addMessageReaction (emoji/custom emoji/paid).
{"action":"set_reaction","userbot_id":1,"chat_id":"123456","message_id":"555","reaction":{"type":"emoji","emoji":"🔥"},"is_big":false,"add_to_recent":true}

Media & Stickers (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
download_fileuserbot_id, file_id, опц. source, chat_id, msg_id, message_thread_id, extradownload_file (ack), далі media_ready; або download_file_errorЗапускає ручне завантаження файлу. Після готовності надсилає шлях/мета в media_ready.
{"action":"download_file","userbot_id":1,"file_id":123456,"source":"dialogs","chat_id":"123456","msg_id":"555","message_thread_id":"456","extra":{"kind":"manual"}}
get_prem_pathuserbot_id, emoji_idget_prem_path / get_prem_path_errorПовертає asset для premium/custom emoji.
{"action":"get_prem_path","userbot_id":1,"emoji_id":"5393021912655030923"}
get_custom_emoji_mediauserbot_id, custom_emoji_ids[], опц. request_idget_custom_emoji_media (ack), далі media_ready; або get_custom_emoji_media_errorПриймає масив custom emoji id, запускає їх завантаження і поступово надсилає окремі media_ready по кожному emoji. Використовуйте для видимих emoji зі sticker pack.
{"action":"get_custom_emoji_media","userbot_id":1,"custom_emoji_ids":["5393021912655030923","5393021912655030924"],"request_id":"visible-stickers"}
get_recent_stickersuserbot_id, опц. is_attachedget_recent_stickers / get_recent_stickers_errorПовертає нещодавні стікери через TDLib getRecentStickers.
{"action":"get_recent_stickers","userbot_id":1,"is_attached":false}
get_stickers_packuserbot_id, опц. query, limit, offset, with_lottieget_stickers_pack / get_stickers_pack_errorПовертає згруповані паки емоджі/стікерів (включно з premium/recommended). Для visible custom emoji викликайте get_custom_emoji_media по items[].emoji_id, для regular stickers — download_file по items[].remote_id. Якщо with_lottie=true, asset-и custom emoji повертаються одразу в item.
{"action":"get_stickers_pack","userbot_id":1,"query":"","limit":20,"offset":0,"with_lottie":false}

Подія media_ready

media_ready — асинхронна WS-подія, яка приходить окремо від основної відповіді, коли бекенд вже підготував медіа і може віддати URL або asset.

{"userbot_id":1,"type":"media_ready","result":{...}}

Варіант 1: файл

{"userbot_id":1,"type":"media_ready","result":{"file_id":123456,"path":"https://...","kind":"avatar","remote_unique_id":"AQAD...","chat_id":"-1001234567890","msg_id":"555"}}

Базові поля: file_id, path, kind. Додатково можуть приходити remote_unique_id, chat_id, msg_id, user_id, message_thread_id, album_id, preview_index, preview_kind, preview_media_type, preview_type, preview_for_file_id, preview_for_file_format, preview_for_file_size, waveform, sticker_format, emoji, source.

Варіант 2: premium/custom emoji

{"userbot_id":1,"type":"media_ready","result":{"emoji_id":"5393021912655030923","kind":"custom_emoji","file_id":987654,"path":"https://...","emoji_webm":"https://...","is_lottie":false,"source":"custom_emoji_batch","request_id":"composer-emoji-pack","batch_index":1,"batch_total":2}}

Для custom emoji приходять emoji_id, kind=custom_emoji і або path/emoji_json_url з is_lottie=true, або path/emoji_webm з is_lottie=false. Додатково можливі file_id, chat_id, msg_id, message_thread_id, source, request_id, batch_index, batch_total.

Порядок завантаження: для файлів спочатку перевіряється кеш/клауд, і тільки потім — якщо для цього потоку дозволено автозавантаження — йде догрузка з TG. Поле path у media_ready — це URL на об'єкт у клауді; для public emoji/sticker bucket він може бути стабільним публічним URL, а для інших media — presigned URL.

Коли приходить:

Profiles & Contacts (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
search_useruserbot_id, usernamesearch_user / search_user_errorПошук публічного чату/юзера за username. Підтримує і durov, і @durov.
{"action":"search_user","userbot_id":1,"username":"@durov"}
search_chats_globaluserbot_id, query (або title/username), опц. limit, wait_media_readysearch_chats_global / search_chats_global_errorГлобальний пошук чатів по title і username через TDLib searchChats, searchChatsOnServer і searchPublicChats. Повертає масив items у форматі chat-list.
{"action":"search_chats_global","userbot_id":1,"query":"openai","limit":20}
create_private_chatuserbot_id, user_id (або tg_user_id), опц. forcecreate_private_chat / create_private_chat_errorСтворює або повертає приватний чат через TDLib createPrivateChat. Повернений chat_id використовуйте далі в open_dialog.
{"action":"create_private_chat","userbot_id":1,"user_id":777000,"force":false}
create_supergroup_chatuserbot_id, title, опц. is_channel, descriptioncreate_supergroup_chat / create_supergroup_chat_errorСтворює нову групу або канал через TDLib createNewSupergroupChat. Якщо is_channel=true, буде створено канал.
{"action":"create_supergroup_chat","userbot_id":1,"title":"Моя група","is_channel":false,"description":"Опис групи"}
get_useruserbot_id, user_idget_user / get_user_errorПовертає розширений профіль користувача: базові поля user, нормалізований parsed_status/last_seen, profile_photo і full_info.
{"action":"get_user","userbot_id":1,"user_id":"777000"}
get_chat_profileuserbot_id, chat_idget_chat_profile / get_chat_profile_errorПовертає розширений профіль чату/каналу/групи: chat + chat_full_info, а також supergroup/basic_group (коли доступно), і profile_photo.
{"action":"get_chat_profile","userbot_id":1,"chat_id":"-1001234567890"}
import_contactsuserbot_id, phone, опц. first_name, last_name, vcard, contact_user_idimport_contacts / import_contacts_errorІмпортує контакт через TDLib importContacts і повертає requested_contact + масив contacts з профілем для збереження на фронті.
{"action":"import_contacts","userbot_id":1,"phone":"+380991112233","first_name":"Ivan","last_name":"Petrenko","vcard":"","contact_user_id":0}
set_nameuserbot_id, first_name, опц. last_name (або full_name/name)set_name / set_name_errorЗмінює імʼя/прізвище поточного акаунта через TDLib setName.
{"action":"set_name","userbot_id":1,"first_name":"Pavlo","last_name":"Petrenko"}
set_biouserbot_id, bio (або about)set_bio / set_bio_errorОновлює bio (About) поточного акаунта через TDLib setBio. Порожній рядок очищає bio.
{"action":"set_bio","userbot_id":1,"bio":"Backend engineer"}
set_usernameuserbot_id, usernameset_username / set_username_errorОновлює @username поточного акаунта через TDLib setUsername. Порожній рядок прибирає username.
{"action":"set_username","userbot_id":1,"username":"pavlo_dev"}
set_birthdateuserbot_id, day, month, опц. year (або birthdate обʼєкт / null, опц. clear)set_birthdate / set_birthdate_errorОновлює день народження поточного акаунта через TDLib setBirthdate. Якщо рік не передано, використовується 0 (рік прихований). Для очищення дати передайте birthdate: null (або clear: true).
{"action":"set_birthdate","userbot_id":1,"day":17,"month":5,"year":1998}

Folder CRUD & Chat Lists (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
create_chat_folderuserbot_id, title (або name), опц. icon_name/icon, color_id, is_shareable, pinned_chat_ids[], included_chat_ids[], excluded_chat_ids[], флаги include_*/exclude_*create_chat_folder / create_chat_folder_errorСтворює нову папку чатів через TDLib createChatFolder.
{"action":"create_chat_folder","userbot_id":1,"title":"Робота","icon_name":"Work","is_shareable":true,"included_chat_ids":[-1001234567890]}
delete_chat_folderuserbot_id, chat_folder_id, опц. leave_chat_ids[]delete_chat_folder / delete_chat_folder_errorВидаляє папку чатів через TDLib deleteChatFolder; опційно можна одночасно вийти з указаних чатів.
{"action":"delete_chat_folder","userbot_id":1,"chat_folder_id":2,"leave_chat_ids":[-1001234567890]}
chat_in_folderuserbot_id, chat_id, chat_folder_id, опц. added/removed/pin/unpinchat_in_folder / chat_in_folder_errorКерує членством чату у folder list.
{"action":"chat_in_folder","userbot_id":1,"chat_id":"123","chat_folder_id":2,"added":true,"removed":false,"pin":false,"unpin":false}
get_chats_for_chat_folder_invite_linkuserbot_id, chat_folder_idget_chats_for_chat_folder_invite_link / get_chats_for_chat_folder_invite_link_errorПовертає список чатів, які можна включити в invite link папки (TDLib get_chats_for_chat_folder_invite_link).
{"action":"get_chats_for_chat_folder_invite_link","userbot_id":1,"chat_folder_id":2}
get_chat_folder_invite_linksuserbot_id, chat_folder_idget_chat_folder_invite_links / get_chat_folder_invite_links_errorПовертає список існуючих invite links для папки (TDLib get_chat_folder_invite_links).
{"action":"get_chat_folder_invite_links","userbot_id":1,"chat_folder_id":2}
create_chat_folder_invite_linkuserbot_id, chat_folder_id, опц. name, chat_ids[] (або chatIds[])create_chat_folder_invite_link / create_chat_folder_invite_link_errorСтворює нове invite link для папки через TDLib create_chat_folder_invite_link.
{"action":"create_chat_folder_invite_link","userbot_id":1,"chat_folder_id":2,"name":"Команда","chat_ids":[-1001234567890,-1009876543210]}
edit_chat_folder_invite_linkuserbot_id, chat_folder_id, invite_link, опц. name, chat_ids[] (або chatIds[])edit_chat_folder_invite_link / edit_chat_folder_invite_link_errorРедагує invite link папки через TDLib editChatFolderInviteLink.
{"action":"edit_chat_folder_invite_link","userbot_id":1,"chat_folder_id":2,"invite_link":"https://t.me/addlist/abc","name":"Команда v2","chat_ids":[-1001234567890]}
delete_chat_folder_invite_linkuserbot_id, chat_folder_id, invite_linkdelete_chat_folder_invite_link / delete_chat_folder_invite_link_errorВидаляє invite link папки через TDLib deleteChatFolderInviteLink.
{"action":"delete_chat_folder_invite_link","userbot_id":1,"chat_folder_id":2,"invite_link":"https://t.me/addlist/abc"}
archive_chatuserbot_id, chat_idarchive_chat / archive_chat_errorПереміщає чат в архів.
{"action":"archive_chat","userbot_id":1,"chat_id":"123"}
unarchive_chatuserbot_id, chat_idunarchive_chat / unarchive_chat_errorПовертає чат в main list.
{"action":"unarchive_chat","userbot_id":1,"chat_id":"123"}
pin_chatuserbot_id, chat_id, опц. is_pinned, chat_listpin_chat / pin_chat_errorЗакріплює або відкріплює чат у списку.
{"action":"pin_chat","userbot_id":1,"chat_id":"123","is_pinned":true,"chat_list":"chatListMain"}

Privacy & Blocking (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
get_privacy_settinguserbot_id, setting (або privacy_setting)get_privacy_setting / get_privacy_setting_errorПовертає поточні правила приватності для одного налаштування. Для user rules використовує TDLib getUserPrivacySettingRules, для “Повідомлення” — getNewChatPrivacySettings.
{"action":"get_privacy_setting","userbot_id":1,"setting":"last_seen"}
get_privacy_settingsuserbot_id, опц. settings[] або CSV-рядокget_privacy_settings / get_privacy_settings_errorПовертає набір privacy-налаштувань одним запитом (масив items + errors).
{"action":"get_privacy_settings","userbot_id":1,"settings":["phone_number","last_seen","groups_and_channels","calls","profile_photo","bio","gifts","birthdate","forwarded_messages","voice_messages","messages"]}
set_privacy_settinguserbot_id, setting, опц. mode, allow_user_ids/always_allow_user_ids, restrict_user_ids/never_allow_user_ids, allow_chat_ids, restrict_chat_ids, allow_premium_users, rules, allow_new_chats_from_unknown_usersset_privacy_setting / set_privacy_setting_errorЗмінює privacy-правила. Підтримує базові режими (all/contacts/nobody) і винятки для користувачів/чатів, або повний масив TDLib rules.
{"action":"set_privacy_setting","userbot_id":1,"setting":"last_seen","mode":"nobody","always_allow_user_ids":[777000,123456789],"never_allow_user_ids":[987654321]}
block_useruserbot_id, user_id (або tg_user_id), опц. is_blocked, block_listblock_user / block_user_errorБлокує або розблоковує користувача через TDLib setMessageSenderBlockList.
{"action":"block_user","userbot_id":1,"user_id":777000,"is_blocked":true}
unblock_useruserbot_id, user_id (або tg_user_id)unblock_user / unblock_user_errorВидаляє користувача зі списку блокування через TDLib setMessageSenderBlockList з block_list=null.
{"action":"unblock_user","userbot_id":1,"user_id":777000}
get_blocked_usersuserbot_id, опц. block_list, offset, limitget_blocked_users / get_blocked_users_errorПовертає список заблокованих sender-ів через TDLib getBlockedMessageSenders з окремими масивами users і chats.
{"action":"get_blocked_users","userbot_id":1,"offset":0,"limit":50}

Chat/Channel Configuration (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
set_chat_titleuserbot_id, chat_id, titleset_chat_title / set_chat_title_errorЗмінює назву чату/каналу через TDLib setChatTitle.
{"action":"set_chat_title","userbot_id":1,"chat_id":"-1001234567890","title":"Новий заголовок"}
set_chat_descriptionuserbot_id, chat_id, descriptionset_chat_description / set_chat_description_errorЗмінює опис чату/каналу через TDLib setChatDescription.
{"action":"set_chat_description","userbot_id":1,"chat_id":"-1001234567890","description":"Новий опис"}
set_chat_permissionsuserbot_id, chat_id, permissionsset_chat_permissions / set_chat_permissions_errorЗмінює загальні дозволи учасників чату через TDLib setChatPermissions. Підтримує частковий payload і alias полів (can_send_messages, can_add_web_page_previews, can_manage_topics).
{"action":"set_chat_permissions","userbot_id":1,"chat_id":"-1001234567890","permissions":{"can_send_basic_messages":true,"can_send_photos":true,"can_send_videos":true,"can_send_polls":false,"can_add_link_previews":true,"can_invite_users":true}}
check_chat_usernameuserbot_id, chat_id, usernamecheck_chat_username / check_chat_username_errorПеревіряє username для чату/каналу через TDLib checkChatUsername.
{"action":"check_chat_username","userbot_id":1,"chat_id":"-1001234567890","username":"my_channel"}
set_supergroup_usernameuserbot_id, chat_id (або supergroup_id), usernameset_supergroup_username / set_supergroup_username_errorЗмінює @username каналу/супергрупи через TDLib setSupergroupUsername. Порожній рядок робить чат приватним.
{"action":"set_supergroup_username","userbot_id":1,"chat_id":"-1001234567890","username":"my_channel"}
toggle_chat_has_protected_contentuserbot_id, chat_id, has_protected_contenttoggle_chat_has_protected_content / toggle_chat_has_protected_content_errorВмикає/вимикає захист контенту (копіювання/пересилання) через TDLib toggleChatHasProtectedContent.
{"action":"toggle_chat_has_protected_content","userbot_id":1,"chat_id":"-1001234567890","has_protected_content":true}
set_chat_slow_mode_delayuserbot_id, chat_id, slow_mode_delay (або delay)set_chat_slow_mode_delay / set_chat_slow_mode_delay_errorКерує “повільним режимом” у чаті через TDLib setChatSlowModeDelay. 0 вимикає slow mode.
{"action":"set_chat_slow_mode_delay","userbot_id":1,"chat_id":"-1001234567890","slow_mode_delay":60}
set_chat_direct_messages_groupuserbot_id, chat_id, is_enabled, опц. paid_message_star_count (або star_count)set_chat_direct_messages_group / set_chat_direct_messages_group_errorКерує блоком “Приймати повідомлення” в каналі через TDLib setChatDirectMessagesGroup: вмикає/вимикає прийом повідомлень і задає ціну в Stars за повідомлення.
{"action":"set_chat_direct_messages_group","userbot_id":1,"chat_id":"-1001234567890","is_enabled":true,"paid_message_star_count":0}
set_chat_discussion_groupuserbot_id, chat_id, discussion_chat_idset_chat_discussion_group / set_chat_discussion_group_errorПрив’язує або відв’язує групу обговорення каналу через TDLib setChatDiscussionGroup. Для відв’язки передайте discussion_chat_id=0.
{"action":"set_chat_discussion_group","userbot_id":1,"chat_id":"-1001234567890","discussion_chat_id":"-1009876543210"}
get_suitable_discussion_chatsuserbot_idget_suitable_discussion_chats / get_suitable_discussion_chats_errorПовертає список чатів, які підходять для прив’язки як група обговорення, через TDLib getSuitableDiscussionChats.
{"action":"get_suitable_discussion_chats","userbot_id":1}
get_suitable_personal_chatsuserbot_idget_suitable_personal_chats / get_suitable_personal_chats_errorПовертає список каналів, які можна вибрати як “особистий канал”, через TDLib getSuitablePersonalChats.
{"action":"get_suitable_personal_chats","userbot_id":1}
set_personal_chatuserbot_id, chat_idset_personal_chat / set_personal_chat_errorВстановлює канал як “особистий канал” через TDLib setPersonalChat. У відповіді додається item, зібраний через build_chat_item.
{"action":"set_personal_chat","userbot_id":1,"chat_id":"-1001234567890"}
hide_personal_chatuserbot_idhide_personal_chat / hide_personal_chat_errorПриховує “особистий канал” через TDLib setPersonalChat з chat_id=0.
{"action":"hide_personal_chat","userbot_id":1}

Members & Moderation (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
get_chat_membersuserbot_id, chat_id, опц. limit, offset, query, filter/member_filterget_chat_members / get_chat_members_errorПовертає учасників чату з пагінацією. Для supergroup використовує getSupergroupMembers/searchChatMembers, для basic group — getBasicGroupFullInfo.
{"action":"get_chat_members","userbot_id":1,"chat_id":"-1001234567890","limit":30,"offset":0,"filter":"recent"}
add_chat_memberuserbot_id, chat_id, user_id (або tg_user_id), опц. forward_limitadd_chat_member / add_chat_member_errorДодає користувача в чат/канал через TDLib addChatMember. Для груп може використовувати forward_limit (скільки останніх повідомлень показати новому учаснику).
{"action":"add_chat_member","userbot_id":1,"chat_id":"-1001234567890","user_id":777000,"forward_limit":0}
add_chat_membersuserbot_id, chat_id, user_ids[] (або userids[])add_chat_members / add_chat_members_errorДодає кількох користувачів у чат/канал через TDLib addChatMembers одним запитом.
{"action":"add_chat_members","userbot_id":1,"chat_id":"-1001234567890","user_ids":[777000,123456789]}
remove_chat_memberuserbot_id, chat_id, user_id (або tg_user_id), опц. revoke_messagesremove_chat_member / remove_chat_member_errorВилучає користувача з каналу/чату через TDLib setChatMemberStatus зі статусом chatMemberStatusBanned.
{"action":"remove_chat_member","userbot_id":1,"chat_id":"-1001234567890","user_id":777000,"revoke_messages":false}
restore_chat_memberuserbot_id, chat_id, user_id (або tg_user_id)restore_chat_member / restore_chat_member_errorВідновлює користувачу можливість знову приєднатись (unban) через TDLib setChatMemberStatus зі статусом chatMemberStatusLeft. Не додає назад автоматично.
{"action":"restore_chat_member","userbot_id":1,"chat_id":"-1001234567890","user_id":777000}
get_chat_join_requestsuserbot_id, chat_id, опц. invite_link, query, offset_request, limitget_chat_join_requests / get_chat_join_requests_errorПовертає запити на вступ через TDLib getChatJoinRequests. Для пагінації можна передавати останній елемент як offset_request.
{"action":"get_chat_join_requests","userbot_id":1,"chat_id":"-1001234567890","invite_link":"","query":"","limit":50}
process_chat_join_requestuserbot_id, chat_id, user_id (або tg_user_id), опц. approveprocess_chat_join_request / process_chat_join_request_errorСхвалює або відхиляє запит на вступ через TDLib processChatJoinRequest.
{"action":"process_chat_join_request","userbot_id":1,"chat_id":"-1001234567890","user_id":777000,"approve":true}
process_chat_join_requestsuserbot_id, chat_id, опц. invite_link, approveprocess_chat_join_requests / process_chat_join_requests_errorСхвалює або відхиляє всі заявки (або всі заявки конкретного invite link) через TDLib processChatJoinRequests.
{"action":"process_chat_join_requests","userbot_id":1,"chat_id":"-1001234567890","invite_link":"","approve":true}
get_chat_invite_link_membersuserbot_id, chat_id, invite_link, опц. only_with_expired_subscription, offset_member, limitget_chat_invite_link_members / get_chat_invite_link_members_errorПовертає користувачів, які приєдналися за конкретним invite link, через TDLib getChatInviteLinkMembers. Для пагінації можна передавати останній елемент як offset_member.
{"action":"get_chat_invite_link_members","userbot_id":1,"chat_id":"-1001234567890","invite_link":"https://t.me/+abc","only_with_expired_subscription":false,"limit":50}
leave_chatuserbot_id, chat_idleave_chat / leave_chat_errorВихід із групи/каналу.
{"action":"leave_chat","userbot_id":1,"chat_id":"123"}
delete_chatuserbot_id, chat_id, опц. revoke, remove_from_chat_listdelete_chat / delete_chat_errorОчищає історію чату (і за параметрами прибирає зі списку).
{"action":"delete_chat","userbot_id":1,"chat_id":"123","revoke":true,"remove_from_chat_list":true}
delete_channeluserbot_id, chat_id (або channel_id як alias того ж chat_id), опц. revoke, remove_from_chat_listdelete_channel / delete_channel_errorВидаляє канал через TDLib deleteChatHistory; бекенд перевіряє, що вказаний чат є каналом.
{"action":"delete_channel","userbot_id":1,"chat_id":"-1001234567890","revoke":true,"remove_from_chat_list":true}

Admins, Ownership & 2FA (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
add_chat_administratoruserbot_id, chat_id, user_id (або tg_user_id), опц. custom_title, rights, is_anonymous, can_be_editedadd_chat_administrator / add_chat_administrator_errorПризначає користувача адміністратором у каналі/групі через TDLib setChatMemberStatus з chatMemberStatusAdministrator.
{"action":"add_chat_administrator","userbot_id":1,"chat_id":"-1001234567890","user_id":777000,"custom_title":"Модератор"}
remove_chat_administratoruserbot_id, chat_id, user_id (або tg_user_id)remove_chat_administrator / remove_chat_administrator_errorЗнімає адмінські права і повертає користувача до звичайного учасника через TDLib setChatMemberStatus з chatMemberStatusMember.
{"action":"remove_chat_administrator","userbot_id":1,"chat_id":"-1001234567890","user_id":777000}
transfer_chat_ownershipuserbot_id, chat_id, user_id (або tg_user_id), password (або current_password)transfer_chat_ownership / transfer_chat_ownership_errorПередає право власника каналу/групи іншому адміністратору через TDLib transferChatOwnership. Потрібен пароль 2FA поточного власника.
{"action":"transfer_chat_ownership","userbot_id":1,"chat_id":"-1001234567890","user_id":777000,"password":"your_2fa_password"}
get_transfer_ownership_stateuserbot_idget_transfer_ownership_state / get_transfer_ownership_state_errorОб’єднує перевірки TDLib getPasswordState і canTransferOwnership в один запит для UI блоку перевірки безпеки.
{"action":"get_transfer_ownership_state","userbot_id":1}
get_password_stateuserbot_idget_password_state / get_password_state_errorПовертає стан 2FA через TDLib getPasswordState: чи увімкнений пароль, password_hint, стан recovery email.
{"action":"get_password_state","userbot_id":1}
verify_2fa_passworduserbot_id, password (або current_password)verify_2fa_password / verify_2fa_password_errorПеревіряє валідність поточного 2FA-пароля через TDLib getRecoveryEmailAddress (без зміни налаштувань).
{"action":"verify_2fa_password","userbot_id":1,"password":"current_2fa_password"}
change_2fa_passworduserbot_id, current_password (або old_password/password), new_password, опц. new_hint, set_recovery_email_address, new_recovery_email_addresschange_2fa_password / change_2fa_password_errorЗмінює 2FA-пароль через TDLib setPassword. Повертає оновлений password_state.
{"action":"change_2fa_password","userbot_id":1,"current_password":"current_2fa_password","new_password":"new_2fa_password","new_hint":"My hint"}
disable_2fa_passworduserbot_id, current_password (або password)disable_2fa_password / disable_2fa_password_errorВимикає 2FA-пароль через TDLib setPassword з порожнім new_password.
{"action":"disable_2fa_password","userbot_id":1,"current_password":"current_2fa_password"}
change_2fa_recovery_emailuserbot_id, current_password (або password), new_recovery_email_address (або recovery_email_address/email)change_2fa_recovery_email / change_2fa_recovery_email_errorЗмінює recovery email для 2FA через TDLib setRecoveryEmailAddress. Якщо пошта нова, потрібне підтвердження на email.
{"action":"change_2fa_recovery_email","userbot_id":1,"current_password":"current_2fa_password","new_recovery_email_address":"new@example.com"}

Supergroup / Channel Toggles (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
toggle_supergroup_sign_messagesuserbot_id, chat_id (або supergroup_id), sign_messages, опц. show_message_sendertoggle_supergroup_sign_messages / toggle_supergroup_sign_messages_errorПеремикає підпис повідомлень у каналі/супергрупі через TDLib toggleSupergroupSignMessages. Якщо show_message_sender не передано, бекенд збереже поточне значення.
{"action":"toggle_supergroup_sign_messages","userbot_id":1,"chat_id":"-1001234567890","sign_messages":true}
toggle_supergroup_is_all_history_availableuserbot_id, chat_id (або supergroup_id), is_all_history_availabletoggle_supergroup_is_all_history_available / toggle_supergroup_is_all_history_available_errorКерує видимістю старої історії для нових учасників у супергрупі через TDLib toggleSupergroupIsAllHistoryAvailable.
{"action":"toggle_supergroup_is_all_history_available","userbot_id":1,"chat_id":"-1001234567890","is_all_history_available":true}
toggle_supergroup_is_forumuserbot_id, chat_id (або supergroup_id), is_forumtoggle_supergroup_is_forum / toggle_supergroup_is_forum_errorВмикає/вимикає режим гілок (forum topics) у супергрупі через TDLib toggleSupergroupIsForum.
{"action":"toggle_supergroup_is_forum","userbot_id":1,"chat_id":"-1001234567890","is_forum":true}

Invite Links (CRUD) (0)

ActionЩо приймаєЩо повертаєЩо робитьПриклад action
check_chat_invite_linkuserbot_id, invite_link (або link/url)check_chat_invite_link / check_chat_invite_link_errorПеревіряє Telegram-лінк чату. Для invite links використовує TDLib checkChatInviteLink; якщо chat_id уже відомий, бек додатково звіряє актуальну публічність через свіжий getChat. Якщо відповідь застаріла або без chat_id, бек робить best-effort refresh через searchChatsOnServer за exact title. Для публічних t.me/username або @username резолвить чат через searchPublicChat. Якщо chat_id усе одно недоступний, у відповіді повертається chat_id_unavailable_reason.
{"action":"check_chat_invite_link","userbot_id":1,"invite_link":"https://t.me/+abc"}
join_chat_by_invite_linkuserbot_id, invite_link (або link/url)join_chat_by_invite_link / join_chat_by_invite_link_errorПриєднує поточного користувача до чату за Telegram-посиланням. Для invite links використовує TDLib joinChatByInviteLink, для публічних t.me/username лінків резолвить чат і викликає joinChat. У відповіді повертає joined, join_request_sent, а також chat і item, якщо чат уже доступний.
{"action":"join_chat_by_invite_link","userbot_id":1,"invite_link":"https://t.me/+abc"}
get_chat_invite_linksuserbot_id, chat_id, опц. creator_user_id, is_revoked, offset_date, offset_invite_link, limitget_chat_invite_links / get_chat_invite_links_errorПовертає список запрошувальних посилань через TDLib getChatInviteLinks. Якщо creator_user_id не передано, бекенд підставляє поточного користувача через getMe.
{"action":"get_chat_invite_links","userbot_id":1,"chat_id":"-1001234567890","is_revoked":false,"limit":50}
create_chat_invite_linkuserbot_id, chat_id, опц. name, expiration_date, member_limit, creates_join_requestcreate_chat_invite_link / create_chat_invite_link_errorСтворює нове invite link через TDLib createChatInviteLink.
{"action":"create_chat_invite_link","userbot_id":1,"chat_id":"-1001234567890","name":"Ads A","expiration_date":0,"member_limit":0,"creates_join_request":false}
create_chat_subscription_invite_linkuserbot_id, chat_id, опц. name, subscription_pricing (або subscription_period + subscription_star_count)create_chat_subscription_invite_link / create_chat_subscription_invite_link_errorСтворює платне invite link через TDLib createChatSubscriptionInviteLink (Stars subscription для каналу).
{"action":"create_chat_subscription_invite_link","userbot_id":1,"chat_id":"-1001234567890","name":"Paid 30d","subscription_pricing":{"period":2592000,"star_count":100}}
edit_chat_invite_linkuserbot_id, chat_id, invite_link, опц. name, expiration_date, member_limit, creates_join_requestedit_chat_invite_link / edit_chat_invite_link_errorРедагує invite link через TDLib editChatInviteLink.
{"action":"edit_chat_invite_link","userbot_id":1,"chat_id":"-1001234567890","invite_link":"https://t.me/+abc","name":"Ads A v2","member_limit":100}
edit_chat_subscription_invite_linkuserbot_id, chat_id, invite_link, опц. nameedit_chat_subscription_invite_link / edit_chat_subscription_invite_link_errorРедагує платне invite link через TDLib editChatSubscriptionInviteLink (назва посилання).
{"action":"edit_chat_subscription_invite_link","userbot_id":1,"chat_id":"-1001234567890","invite_link":"https://t.me/+paid_abc","name":"Paid 30d (new name)"}
revoke_chat_invite_linkuserbot_id, chat_id, invite_linkrevoke_chat_invite_link / revoke_chat_invite_link_errorВідкликає invite link через TDLib revokeChatInviteLink.
{"action":"revoke_chat_invite_link","userbot_id":1,"chat_id":"-1001234567890","invite_link":"https://t.me/+abc"}
replace_primary_chat_invite_linkuserbot_id, chat_idreplace_primary_chat_invite_link / replace_primary_chat_invite_link_errorГенерує нове primary invite link через TDLib replacePrimaryChatInviteLink.
{"action":"replace_primary_chat_invite_link","userbot_id":1,"chat_id":"-1001234567890"}
delete_revoked_chat_invite_linkuserbot_id, chat_id, invite_linkdelete_revoked_chat_invite_link / delete_revoked_chat_invite_link_errorВидаляє відкликане invite link зі списку через TDLib deleteRevokedChatInviteLink (якщо підтримується версією TDLib).
{"action":"delete_revoked_chat_invite_link","userbot_id":1,"chat_id":"-1001234567890","invite_link":"https://t.me/+abc"}
delete_all_revoked_chat_invite_linksuserbot_id, chat_id, опц. creator_user_iddelete_all_revoked_chat_invite_links / delete_all_revoked_chat_invite_links_errorВидаляє всі відкликані invite links для одного адміністратора через TDLib deleteAllRevokedChatInviteLinks. Якщо creator_user_id не передано, бекенд підставляє поточного користувача через getMe.
{"action":"delete_all_revoked_chat_invite_links","userbot_id":1,"chat_id":"-1001234567890","creator_user_id":777000}