A text message in Telegram is a basic communication format used in personal chats, groups, and channels. Such messages support formatting (bold, italics, links), emojis, hashtags, and mentions. Text is a universal tool for informing and supporting users, automated notifications, and content strategies.
Telegram automatically processes text messages, optimizing their delivery. For complex formatting (tables, lists), Markdown or HTML markup is used via the Bot API.

What formats does Telegram accept text and what are the limitations?
Text formats via the Bot API:
- Plain text is a letter format that contains only text without formatting images, buttons, and other complex elements.
- HTML is a hypertext markup language used to create web pages on the Internet.
Limitations:
1. Message length: up to 4096 characters per message.
2. Nested tags are prohibited in HTML.
3. Sending speed : Groups/Channels: up to 30 messages per second.
Private chats: up to 5 messages per second.
Popular errors when sending text
400 Bad Request: can't parse entities
Reason: Markup error (unclosed tag, incorrect syntax).
Solution: Make sure the HTML tags are valid.
400 Bad Request: message is too long
- Reason: Exceeding the limit of 4096 characters.
- The solution: Split the text into several messages.
403 Forbidden: bot was blocked by the user
- Reason: The user has blocked the bot.
- Solution: User unlock is required.
400 Bad Request: chat not found
- Reason: Invalid chat_id or the bot was not added to the chat/channel.
- The solution:
- Check the correctness of the chat_id (for example, @channelname or numeric ID).
- Make sure that the bot has the rights to send messages.
400 Bad Request: message text is empty
- Reason: The text parameter is empty or missing.
- Solution: Specify the non-empty content of the message.
Information
Technical information for the BOT-MARKET API
- The message type code (`MessageType') for the text is "1".
- Maximum sending speed: up to 30 messages/second in groups.
Tips for effective use
1. Markup > Plain text: Use HTML for visual structuring.
2. Content separation: For text > 4096 characters, use inline buttons with callback data.
3. Escaping: Always handle special characters in user input to avoid parsing errors.