Chat Admin & Invites

Administrator rights, invite links, and join-request moderation commands.

Chat Admin & Invite Commands

Administrator rights, invite links, and join-request moderation commands.

Handler group source

  • Handler module: backend/tg_client/dialogs/commands/handlers/chat_admin.py
  • Registered commands: 16
  • Registry integration: backend/tg_client/dialogs/commands/registry.py

Command index

Command Handler Service / callable Success event(s) Notes
`add_chat_administrator` handle_chat_admin_commands admin_service.add_chat_administrator add_chat_administrator single logical response
`remove_chat_administrator` handle_chat_admin_commands admin_service.remove_chat_administrator remove_chat_administrator single logical response
`transfer_chat_ownership` handle_chat_admin_commands admin_service.transfer_chat_ownership transfer_chat_ownership single logical response
`get_chat_invite_links` handle_chat_admin_commands invite_service.get_chat_invite_links get_chat_invite_links single logical response
`create_chat_invite_link` handle_chat_admin_commands invite_service.create_chat_invite_link create_chat_invite_link single logical response
`create_chat_subscription_invite_link` handle_chat_admin_commands invite_service.create_chat_subscription_invite_link create_chat_subscription_invite_link single logical response
`edit_chat_subscription_invite_link` handle_chat_admin_commands invite_service.edit_chat_subscription_invite_link edit_chat_subscription_invite_link single logical response
`edit_chat_invite_link` handle_chat_admin_commands invite_service.edit_chat_invite_link edit_chat_invite_link single logical response
`revoke_chat_invite_link` handle_chat_admin_commands invite_service.revoke_chat_invite_link revoke_chat_invite_link single logical response
`replace_primary_chat_invite_link` handle_chat_admin_commands invite_service.replace_primary_chat_invite_link replace_primary_chat_invite_link single logical response
`delete_revoked_chat_invite_link` handle_chat_admin_commands invite_service.delete_revoked_chat_invite_link delete_revoked_chat_invite_link single logical response
`delete_all_revoked_chat_invite_links` handle_chat_admin_commands invite_service.delete_all_revoked_chat_invite_links delete_all_revoked_chat_invite_links single logical response
`get_chat_join_requests` handle_chat_admin_commands invite_service.get_chat_join_requests get_chat_join_requests single logical response
`get_chat_invite_link_members` handle_chat_admin_commands invite_service.get_chat_invite_link_members get_chat_invite_link_members single logical response
`process_chat_join_request` handle_chat_admin_commands invite_service.process_chat_join_request process_chat_join_request single logical response
`process_chat_join_requests` handle_chat_admin_commands invite_service.process_chat_join_requests process_chat_join_requests single logical response

Group conventions

  • Incoming client requests use the WebSocket action field and are routed into the owner runtime via publish_command().
  • Outbound success/error payloads are wrapped into chat_update live events.
  • ctx.send_response() means one logical success event plus a conventional <command>_error event on failure.
  • Manual ctx.send() branches indicate streaming or custom event emission; these commands are documented explicitly below.
  • Request field types and required flags are inferred from handler/service code because there is no formal request schema object for every command.

Command: add_chat_administrator

Summary

Add chat administrator.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 27).
  • Service: backend/tg_client/dialogs/tdlib/services/admin_service.py::add_chat_administrator.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/admin.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "add_chat_administrator",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "user_id": 123456789,
  "custom_title": "value",
  "rights": {
    "can_manage_chat": true
  }
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
user_id integer required Derived from handler payload access in current code.
custom_title string optional Derived from handler payload access in current code.
rights object optional Raw TDLib administrator rights object.
is_anonymous boolean optional false Derived from handler payload access in current code.
can_be_edited boolean optional true Derived from handler payload access in current code.

Response variants

  • Success event(s): add_chat_administrator.
  • Error event(s): add_chat_administrator_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
Adding administrators is supported only for channels/groups string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes add_chat_administrator.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/admin_service.py::add_chat_administrator.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/admin.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Command: remove_chat_administrator

Summary

Remove chat administrator.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 39).
  • Service: backend/tg_client/dialogs/tdlib/services/admin_service.py::remove_chat_administrator.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/admin.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "remove_chat_administrator",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "user_id": 123456789
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
user_id integer required Derived from handler payload access in current code.

Response variants

  • Success event(s): remove_chat_administrator.
  • Error event(s): remove_chat_administrator_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
Removing administrators is supported only for channels/groups string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes remove_chat_administrator.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/admin_service.py::remove_chat_administrator.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/admin.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Command: transfer_chat_ownership

Summary

Transfer chat ownership.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 47).
  • Service: backend/tg_client/dialogs/tdlib/services/admin_service.py::transfer_chat_ownership.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/admin.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "transfer_chat_ownership",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "user_id": 123456789,
  "password": "secret-password"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
user_id integer required Derived from handler payload access in current code.
password string required Derived from handler payload access in current code.

Response variants

  • Success event(s): transfer_chat_ownership.
  • Error event(s): transfer_chat_ownership_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
password is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes transfer_chat_ownership.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/admin_service.py::transfer_chat_ownership.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/admin.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/admin_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Get chat invite links.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 56).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::get_chat_invite_links.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "get_chat_invite_links",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "creator_user_id": 123456789
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
creator_user_id integer required Derived from handler payload access in current code.
is_revoked boolean optional false Derived from handler payload access in current code.
offset_date integer optional 0 Derived from handler payload access in current code.
offset_invite_link string optional "" Derived from handler payload access in current code.
limit integer optional 50 Derived from handler payload access in current code.

Response variants

  • Success event(s): get_chat_invite_links.
  • Error event(s): get_chat_invite_links_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes get_chat_invite_links.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::get_chat_invite_links.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Create chat invite link.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 68).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::create_chat_invite_link.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "create_chat_invite_link",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "name": "Invite link"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
name string optional Derived from handler payload access in current code.
expiration_date integer optional 0 Derived from handler payload access in current code.
member_limit integer optional 0 Derived from handler payload access in current code.
creates_join_request boolean optional false Derived from handler payload access in current code.

Response variants

  • Success event(s): create_chat_invite_link.
  • Error event(s): create_chat_invite_link_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes create_chat_invite_link.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::create_chat_invite_link.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Create chat subscription invite link.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 79).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::create_chat_subscription_invite_link.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "create_chat_subscription_invite_link",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "name": "Invite link",
  "subscription_pricing": {
    "period": 2592000,
    "star_count": 100
  }
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
name string optional Derived from handler payload access in current code.
subscription_pricing object optional Subscription pricing object; see invite service validation for required members.

Response variants

  • Success event(s): create_chat_subscription_invite_link.
  • Error event(s): create_chat_subscription_invite_link_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
subscription_pricing.period is required string Service-side validation or branch guard Returned as the error field of the error event.
subscription_pricing.star_count is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes create_chat_subscription_invite_link.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::create_chat_subscription_invite_link.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Edit chat subscription invite link.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 88).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::edit_chat_subscription_invite_link.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "edit_chat_subscription_invite_link",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "invite_link": "https://t.me/+AbCdEf",
  "name": "Invite link"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
invite_link string required Derived from handler payload access in current code.
name string optional Derived from handler payload access in current code.

Response variants

  • Success event(s): edit_chat_subscription_invite_link.
  • Error event(s): edit_chat_subscription_invite_link_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
invite_link is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes edit_chat_subscription_invite_link.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::edit_chat_subscription_invite_link.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Edit chat invite link.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 97).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::edit_chat_invite_link.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "edit_chat_invite_link",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "invite_link": "https://t.me/+AbCdEf",
  "name": "Invite link"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
invite_link string required Derived from handler payload access in current code.
name string optional Derived from handler payload access in current code.
expiration_date integer optional 0 Derived from handler payload access in current code.
member_limit integer optional 0 Derived from handler payload access in current code.
creates_join_request boolean optional false Derived from handler payload access in current code.

Response variants

  • Success event(s): edit_chat_invite_link.
  • Error event(s): edit_chat_invite_link_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
invite_link is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes edit_chat_invite_link.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::edit_chat_invite_link.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Revoke chat invite link.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 109).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::revoke_chat_invite_link.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "revoke_chat_invite_link",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "invite_link": "https://t.me/+AbCdEf"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
invite_link string required Derived from handler payload access in current code.

Response variants

  • Success event(s): revoke_chat_invite_link.
  • Error event(s): revoke_chat_invite_link_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
invite_link is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes revoke_chat_invite_link.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::revoke_chat_invite_link.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Replace primary chat invite link.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 117).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::replace_primary_chat_invite_link.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "replace_primary_chat_invite_link",
  "userbot_id": 1,
  "chat_id": -1001234567890
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.

Response variants

  • Success event(s): replace_primary_chat_invite_link.
  • Error event(s): replace_primary_chat_invite_link_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes replace_primary_chat_invite_link.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::replace_primary_chat_invite_link.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Delete revoked chat invite link.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 124).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::delete_revoked_chat_invite_link.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "delete_revoked_chat_invite_link",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "invite_link": "https://t.me/+AbCdEf"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
invite_link string required Derived from handler payload access in current code.

Response variants

  • Success event(s): delete_revoked_chat_invite_link.
  • Error event(s): delete_revoked_chat_invite_link_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
invite_link is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes delete_revoked_chat_invite_link.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::delete_revoked_chat_invite_link.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Delete all revoked chat invite links.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 132).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::delete_all_revoked_chat_invite_links.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "delete_all_revoked_chat_invite_links",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "creator_user_id": 123456789
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
creator_user_id integer required Derived from handler payload access in current code.

Response variants

  • Success event(s): delete_all_revoked_chat_invite_links.
  • Error event(s): delete_all_revoked_chat_invite_links_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes delete_all_revoked_chat_invite_links.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::delete_all_revoked_chat_invite_links.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Command: get_chat_join_requests

Summary

Get chat join requests.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 140).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::get_chat_join_requests.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "get_chat_join_requests",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "invite_link": "https://t.me/+AbCdEf",
  "query": "publicusername",
  "offset_request": "value"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
invite_link string required Derived from handler payload access in current code.
query string optional Derived from handler payload access in current code.
offset_request object optional Derived from handler payload access in current code.
limit integer optional 50 Derived from handler payload access in current code.

Response variants

  • Success event(s): get_chat_join_requests.
  • Error event(s): get_chat_join_requests_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes get_chat_join_requests.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::get_chat_join_requests.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_invite_link_members, process_chat_join_request, process_chat_join_requests.

Summary

Get chat invite link members.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 151).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::get_chat_invite_link_members.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "get_chat_invite_link_members",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "invite_link": "https://t.me/+AbCdEf",
  "offset_member": "value"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
invite_link string required Derived from handler payload access in current code.
only_with_expired_subscription boolean optional false Derived from handler payload access in current code.
offset_member object optional Derived from handler payload access in current code.
limit integer optional 50 Derived from handler payload access in current code.

Response variants

  • Success event(s): get_chat_invite_link_members.
  • Error event(s): get_chat_invite_link_members_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
invite_link is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes get_chat_invite_link_members.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::get_chat_invite_link_members.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, process_chat_join_request, process_chat_join_requests.

Command: process_chat_join_request

Summary

Process chat join request.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 162).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::process_chat_join_request.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "process_chat_join_request",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "user_id": 123456789
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
user_id integer required Derived from handler payload access in current code.
approve boolean optional true Derived from handler payload access in current code.

Response variants

  • Success event(s): process_chat_join_request.
  • Error event(s): process_chat_join_request_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
user_id is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes process_chat_join_request.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::process_chat_join_request.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_requests.

Command: process_chat_join_requests

Summary

Process chat join requests.

Location in code

  • Handler: backend/tg_client/dialogs/commands/handlers/chat_admin.py::handle_chat_admin_commands (branch starts near line 171).
  • Service: backend/tg_client/dialogs/tdlib/services/invite_service.py::process_chat_join_requests.
  • Raw API modules: backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Normalizer / typed builder: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Request

Structure

{
  "action": "process_chat_join_requests",
  "userbot_id": 1,
  "chat_id": -1001234567890,
  "invite_link": "https://t.me/+AbCdEf"
}

Parameters

Field Type Required Default Description
chat_id integer required Derived from handler payload access in current code.
invite_link string required Derived from handler payload access in current code.
approve boolean optional true Derived from handler payload access in current code.

Response variants

  • Success event(s): process_chat_join_requests.
  • Error event(s): process_chat_join_requests_error.
  • Result shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.

Errors

Error Type/Code When happens Notes
chat_id is required string Service-side validation or branch guard Returned as the error field of the error event.
TDLib / transport error string Raw API call fails or TDLib raises in the transport wrapper Forwarded from TdlibBaseClient.tg_call() or returned by the service.

Flow

  • TDLibListChatsConsumer.receive_json() forwards the WebSocket action into publish_command().
  • AccountOwnerWorker receives the command envelope and invokes dispatch_command_payload().
  • Registry handler handle_chat_admin_commands processes process_chat_join_requests.
  • Service layer executes backend/tg_client/dialogs/tdlib/services/invite_service.py::process_chat_join_requests.
  • Raw TDLib wrapper(s): backend/tg_client/dialogs/tdlib/api/invites.py, backend/tg_client/dialogs/tdlib/api/chats.py.
  • Result normalization / shaping: backend/tg_client/dialogs/tdlib/normalizers/invite_normalizer.py, backend/tg_client/dialogs/tdlib/normalizers/user_reference_normalizer.py.
  • Final payload is emitted through ctx.send() / ctx.send_response() -> send_ws() -> live event publisher.
  • Sibling commands in this handler group: add_chat_administrator, remove_chat_administrator, transfer_chat_ownership, get_chat_invite_links, create_chat_invite_link, create_chat_subscription_invite_link, edit_chat_subscription_invite_link, edit_chat_invite_link, revoke_chat_invite_link, replace_primary_chat_invite_link, delete_revoked_chat_invite_link, delete_all_revoked_chat_invite_links, get_chat_join_requests, get_chat_invite_link_members, process_chat_join_request.