Reference data

Bot platform limits compared: message length, buttons, commands, files

Hitting a limit shows up as a 400 error or a silently truncated message. Filter by platform or type a word like "button" or "file".

Last checked against official documentation:

PlatformItemLimitNotesSource
TelegramMessage text length4096 charactersAfter entity parsing.Source
TelegramMedia caption1024 charactersAfter entity parsing.Source
Telegramcallback_data1-64 bytesUTF-8 bytes, not characters.Source
TelegramBot commands per scope and language100Via setMyCommands.Source
TelegramCommand name1-32 charactersLowercase letters, digits and underscores.Source
TelegramCommand description1-256 charactersSource
TelegramFile upload by bot (multipart)10 MB photos, 50 MB other filesCloud Bot API server.Source
TelegramFile download via getFile20 MBCloud Bot API server; a self-hosted Bot API server lifts these limits.Source
TelegramDeep-link start parameterUp to 64 charactersA-Z, a-z, 0-9, _ and -.Source
DiscordMessage content2000 charactersSource
DiscordEmbeds per message10Source
DiscordEmbed total characters6000Sum of all text fields across all embeds of a message.Source
DiscordEmbed title / description256 / 4096 charactersSource
DiscordEmbed fields25 (name 256, value 1024)Source
DiscordEmbed footer / author name2048 / 256 charactersSource
DiscordGlobal chat input commands100Plus 5 user and 5 message context menu commands.Source
DiscordCommand name / description1-32 / 1-100 charactersSource
DiscordOptions per command / choices per option25 / 25Source
DiscordInitial interaction response3 secondsDefer if you need longer.Source
DiscordInteraction token validity15 minutesFor follow-up messages.Source
DiscordAction rows / buttons per row5 / 5Legacy component layout.Source
SlackMessage text40,000 characters (truncated)Slack recommends staying under 4,000.Source
SlackBlocks per message50100 in modals and App Home.Source
SlackSection text / header text3000 / 150 charactersSource
SlackAcknowledge interactions3 secondsRespond with HTTP 200, then do the work.Source
WhatsAppText message body4096 charactersSource
WhatsAppInteractive body / header / footer1024 / 60 / 60 charactersSource
WhatsAppReply buttons3 (title 20 characters)Source
WhatsAppList message rows10 in total (title 24, description 72)Button text 20 characters.Source
WhatsAppCustomer service window24 hoursOutside it, only approved templates.Source
WhatsAppMedia sizeImage 5 MB, video and audio 16 MB, document 100 MBSource
MessengerText message2000 charactersUTF-8.Source
MessengerQuick replies13 (title 20 characters)Source
MessengerStandard messaging window24 hoursMessage tags cover limited cases outside it.Source
TwitchChat message500 charactersSource
MatrixEvent size65536 bytesFull event as canonical JSON, including signatures.Source
XPost length280 weighted charactersMany CJK characters and emoji count as 2; URLs count as 23. Paid tiers allow longer posts.Source

Practical advice

  • Split long text before sending; the message splitter tool does it per platform without breaking code blocks. Message splitter
  • Characters are not bytes: callback_data and Matrix events are limited in bytes, so accented letters and emoji use more of the budget.
  • Response deadlines (Discord 3 seconds, Slack 3 seconds) mean: acknowledge first, do the slow work afterwards.

Related: Rate limits, Rate limit comparison tool.