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.
Command: get_chat_invite_links
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.
Command: create_chat_invite_link
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.
Command: create_chat_subscription_invite_link
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.
Command: edit_chat_subscription_invite_link
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.
Command: edit_chat_invite_link
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.
Command: revoke_chat_invite_link
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.
Command: replace_primary_chat_invite_link
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.
Command: delete_revoked_chat_invite_link
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.
Command: delete_all_revoked_chat_invite_links
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.
Command: get_chat_invite_link_members
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.