messages.composeMessageWithAI
messages.composeMessageWithAI
Section titled “messages.composeMessageWithAI”No description provided by the pinned schema.
Signature
Section titled “Signature”messages.composeMessageWithAI#daecc589 flags:# proofread:flags.0?true emojify:flags.3?true text:TextWithEntities translate_to_lang:flags.1?string tone:flags.2?InputAiComposeTone = messages.ComposedMessageWithAI;Result type
Section titled “Result type”messages.ComposedMessageWithAI
Parameters
Section titled “Parameters”| Name | Type | Flag | Default | Description |
|---|---|---|---|---|
| flags | # | flag word | — | No description provided by the pinned schema. |
| proofread | flags.0?true | flags.0 | — | No description provided by the pinned schema. |
| emojify | flags.3?true | flags.3 | — | No description provided by the pinned schema. |
| text | TextWithEntities | — | — | No description provided by the pinned schema. |
| translate_to_lang | flags.1?string | flags.1 | — | No description provided by the pinned schema. |
| tone | flags.2?InputAiComposeTone | flags.2 | — | No description provided by the pinned schema. |
| Parameter | Bit | Meaning |
|---|---|---|
| proofread | 0 | Controlled by flags; present when this bit is set. |
| emojify | 3 | Controlled by flags; present when this bit is set. |
| translate_to_lang | 1 | Controlled by flags; present when this bit is set. |
| tone | 2 | Controlled by flags; present when this bit is set. |
Python binding
Section titled “Python binding”from miniproto.raw.functions import MessagesComposeMessageWithAIPublic access: miniproto.raw.functions.MessagesComposeMessageWithAI.
Safe usage shape
Section titled “Safe usage shape”from miniproto.raw.functions import MessagesComposeMessageWithAI
# Naming the raw request class is local only; it performs no I/O or network request.request_type = MessagesComposeMessageWithAIResult family
Section titled “Result family”messages.ComposedMessageWithAI
RPC errors
Section titled “RPC errors”| Code | Error | Description |
|---|---|---|
| 400 | AICOMPOSE_FLOOD_PREMIUM | You’ve reached the daily limit of AI text transformations, upgrade to Telegram Premium to get 50x times more AI text transformations per day! |
| 400 | AI_COMPOSE_TASK_MISSING | No AI task was specified. The caller must provide at least one of: proofread, translate (with a target language), tone, or emojify. |
| 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 | MESSAGE_EMPTY | The provided message is empty. |
| 401 | AUTH_KEY_UNREGISTERED | The specified authorization key is not registered in the system (for example, a PFS temporary key has expired). |
| 500 | AICOMPOSE_TIMEOUT | A timeout occurred while composing the message. |
Accepted types
Section titled “Accepted types”InputAiComposeTone, TextWithEntities
Known selected constructors: inputAiComposeToneDefault, inputAiComposeToneID, inputAiComposeToneSingleUse, inputAiComposeToneSlug, textWithEntities
Returned types
Section titled “Returned types”messages.ComposedMessageWithAI
Known selected constructors: messages.composedMessageWithAI
Related methods
Section titled “Related methods”aicompose.deleteTone, aicompose.getTone, aicompose.getToneExample, aicompose.saveTone, aicompose.updateTone, contacts.addContact, contacts.updateContactNote, messages.composeRichMessageWithAI, messages.editFactCheck, messages.summarizeText, messages.translateText, phone.sendGroupCallMessage
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