messages.addChatUser
messages.addChatUser
Section titled “messages.addChatUser”No description provided by the pinned schema.
Signature
Section titled “Signature”messages.addChatUser#cbc6d107 chat_id:long user_id:InputUser fwd_limit:int = messages.InvitedUsers;Result type
Section titled “Result type”messages.InvitedUsers
Parameters
Section titled “Parameters”| Name | Type | Flag | Default | Description |
|---|---|---|---|---|
| chat_id | long | — | — | No description provided by the pinned schema. |
| user_id | InputUser | — | — | No description provided by the pinned schema. |
| fwd_limit | int | — | — | No description provided by the pinned schema. |
Python binding
Section titled “Python binding”from miniproto.raw.functions import MessagesAddChatUserPublic access: miniproto.raw.functions.MessagesAddChatUser.
Safe usage shape
Section titled “Safe usage shape”from miniproto.raw.functions import MessagesAddChatUser
# Naming the raw request class is local only; it performs no I/O or network request.request_type = MessagesAddChatUserResult family
Section titled “Result family”RPC errors
Section titled “RPC errors”| Code | Error | Description |
|---|---|---|
| 400 | BOT_GROUPS_BLOCKED | This bot can’t be added to groups. |
| 400 | BUSINESS_CONNECTION_NOT_ALLOWED | This method was invoked over a business connection using invokeWithBusinessConnection, but either (1) we’re a user, and users cannot invoke methods over a business connection; (2) we’re a bot, but business mode was disabled in @botfather or (3); we’re a bot, but this method cannot be invoked over a business connection. |
| 400 | CHAT_ADMIN_REQUIRED | You must be an admin in this chat to do this. |
| 400 | CHAT_ID_INVALID | The provided chat id is invalid. |
| 400 | CHAT_INVALID | Invalid chat. |
| 400 | CHAT_MEMBER_ADD_FAILED | Could not add participants. |
| 400 | INPUT_USER_DEACTIVATED | The specified user was deleted. |
| 400 | MSG_ID_INVALID | Invalid message ID provided. |
| 400 | PEER_ID_INVALID | The provided peer id is invalid. |
| 400 | USERS_TOO_MUCH | The maximum number of users has been exceeded (to create a chat, for example). |
| 400 | USER_ALREADY_PARTICIPANT | The user is already in the group. |
| 400 | USER_ID_INVALID | The provided user ID is invalid. |
| 400 | USER_IS_BLOCKED | You were blocked by this user. |
| 400 | USER_NOT_MUTUAL_CONTACT | The provided user is not a mutual contact. |
| 400 | YOU_BLOCKED_USER | You blocked this user. |
| 401 | AUTH_KEY_UNREGISTERED | The specified authorization key is not registered in the system (for example, a PFS temporary key has expired). |
| 403 | CHAT_ADMIN_REQUIRED | You must be an admin in this chat to do this. |
| 403 | CHAT_WRITE_FORBIDDEN | You can’t write in this chat. |
| 403 | USER_NOT_MUTUAL_CONTACT | The provided user is not a mutual contact. |
| 403 | USER_PRIVACY_RESTRICTED | The user’s privacy settings do not allow you to do this. |
Accepted types
Section titled “Accepted types”InputUser
Known selected constructors: inputUser, inputUserEmpty, inputUserFromMessage, inputUserSelf
Returned types
Section titled “Returned types”messages.InvitedUsers
Known selected constructors: messages.invitedUsers
Related methods
Section titled “Related methods”account.confirmBotConnection, account.getPaidMessagesRevenue, account.toggleNoPaidMessagesException, account.updateConnectedBot, bots.addPreviewMedia, bots.allowSendMessage, bots.canSendMessage, bots.checkDownloadFileParams, bots.createBot, bots.deletePreviewMedia, bots.editAccessSettings, bots.editPreviewMedia, bots.exportBotToken, bots.getAccessSettings, bots.getBotInfo, bots.getBotMenuButton, bots.getBotRecommendations, bots.getPreviewInfo, bots.getPreviewMedias, bots.getRequestedWebViewButton, bots.invokeWebViewCustomMethod, bots.reorderPreviewMedias, bots.reorderUsernames, bots.requestWebViewButton, bots.setBotInfo, bots.setBotMenuButton, bots.setCustomVerification, bots.toggleUserEmojiStatusPermission, bots.toggleUsername, bots.updateStarRefProgram, bots.updateUserEmojiStatus, channels.editAdmin, channels.getAdminLog, channels.inviteToChannel, channels.toggleJoinRequest, contacts.acceptContact, contacts.addContact, contacts.deleteContacts, contacts.updateContactNote, ephemeral.deleteMessage, ephemeral.editMessage, ephemeral.sendMessage, help.editUserInfo, help.getUserInfo, messages.createChat, messages.deleteChatUser, messages.deleteRevokedExportedChatInvites, messages.editChatAdmin, messages.editChatCreator, messages.getAttachMenuBot, messages.getChatInviteImporters, messages.getCommonChats, messages.getExportedChatInvites, messages.getGameHighScores, messages.getInlineBotResults, messages.getInlineGameHighScores, messages.getPersonalChannelHistory, messages.getPreparedInlineMessage, messages.hideChatJoinRequest, messages.prolongWebView, messages.requestEncryption, messages.requestMainWebView, messages.requestSimpleWebView, messages.requestWebView, messages.savePreparedInlineMessage, messages.sendWebViewData, messages.setGameScore, messages.setInlineGameScore, messages.startBot, messages.toggleBotInAttachMenu, payments.botCancelStarsSubscription, payments.connectStarRefBot, payments.getConnectedStarRefBot, payments.getStarsGiftOptions, payments.refundStarsCharge, phone.inviteConferenceCallParticipant, phone.inviteToGroupCall, phone.requestCall, photos.getUserPhotos, photos.updateProfilePhoto, photos.uploadContactProfilePhoto, photos.uploadProfilePhoto, premium.getUserBoosts, stickers.createStickerSet, users.getFullUser, users.getRequirementsToContact, users.getSavedMusic, users.getSavedMusicByID, users.getUsers, users.setSecureValueErrors, users.suggestBirthday
Availability evidence
Section titled “Availability evidence”- user only
Provenance
Section titled “Provenance”- layer: 228
- structural source:
tdlib - canonical schema: https://raw.githubusercontent.com/tdlib/td/refs/heads/master/td/generate/scheme/telegram_api.tl
- prose merge precedence: TDLib → Telegram Desktop → Core JSON
- source note: Canonical structure is the pinned TDLib telegram_api.tl; Layer 228 comes only from the matching Telegram Desktop end-of-file marker; core.telegram.org inputs enrich documentation and RPC error metadata without overriding structure.
Source-diff notes
Section titled “Source-diff notes”- tdlib_vs_core: changed_count=68; core_only_count=1; overlap_count=2302; tdlib_only_count=158
- tdlib_vs_tdesktop: changed_count=0; overlap_count=2448; tdesktop_only=null; tdlib_only=accessPointRule, ephemeral.editMessage, help.configSimple, inputPeerPhotoFileLocationLegacy, inputStickerSetThumbLegacy, invokeWithApnsSecretPrefix, invokeWithBusinessConnectionPrefix, invokeWithGooglePlayIntegrityPrefix, invokeWithReCaptchaPrefix, ipPort, ipPortSecret, updateEphemeralBotCallbackQuery