logo
Use this method to send a text message to a chat (user, group, or channel) when it exceeds 1800 characters. The message will be sent as a text_file, with the first 1800 characters in the text key and the full message accessible via the text file id ( media_id ) in the text_file key. It is recommended that the client implement a 'Read more' button to open the entire message file.

Field
Type
Required
Description
method
String
Yes
"sendMessage"
app_id
String
Yes
App Id to which the message belongs.
chat_id
String
Yes
Unique identifier for the target Chat or User_id.
to_user_id
String
Optional
Unique identifier of the target user. If the user replies or sends a message to the target user, it will be displayed within a Group or Channel.
text
String
Yes
Text to send.
reference
Long
Yes
Unique local identifier for the message.
reply_to_message_id
String
Optional
Unique identifier for the original parent message. Use it when the message is a reply.
echo
Integer
Optional
If set to 1, returns a copy of the message to the sender. Default is 0.
disable_web_page_preview
Boolean
Optional
Disables link previews for links in this message.
disable_notification
Boolean
Optional
Sends the message silently; users will receive a notification with no sound.
menu_ref
String
Optional
Menu reference for an existing predefined menu: The menu will be displayed as an inline menu associated with the message.
inline_menu
Array of Menu
Optional
Inline menu object to hold menus: If both inline_menu and menu_ref are defined, the priority goes to inline_menu.
chat_settings
Integer
Optional
Administrators can chat with the bot privately, unlike normal users. In settings, the Bot Manager section allows admins to send commands. Setting chat_settings=1 reroutes messages to the Bot Manager for administrative communication.

Preconditions for API Functionality

The following tables outline the preconditions that must be met for the API to function correctly. Failure to meet these conditions may result in errors or unexpected behavior.
  • Preconditions for API permissions
Before sending or replying to a message, ensure the following conditions are met:
Action
Required Permission
Description
Sending a message
"Send Message"
The API must have the "Send Message" permission to send messages in a chat (user, group, or channel).
Replying to a specific message
"Reply to Message"
The user must have the "Reply to Message" permission to respond to a specific message within a chat.
  • Preconditions for API Role in the Chat
Before sending messages, the API must meet the following status requirements based on the type of chat:
Chat Type
Required API Role
Description
User Chat
User Pre-Joined
The user must have pre-joined (started) the API (bot) before receiving messages.
Group Chat
Member
The API must be a member of the group to send messages.
Channel
Admin
The API must be an admin in the channel to send messages.

Response

✅ The messageAck method is always returned on success.
  • If echo = 1, → An additional response is returned with the message method, containing a copy of the sent message object.
  • If the chat type is a user chat, → Two additional responses are included:
    • messageDelivered—Confirms that the message was received by the user's device.
    • messageSeen—Confirms that the user has read the message.
This process ensures proper acknowledgment and tracking of message status.

Example 1:

Text is less than 1800 characters

Requests

json
{ "method": "sendMessage", "chat_id": "90089584764538542", "reference": 111111125, "app_id": "90090684293000559", "text": "Hello World!", "echo": 1 }
java
String chatId = "90089584764538542"; String text = "Hello World!"; int echo =1; api.sendText(chatId, text, echo);
javascript
let chatId = "90089584764538542"; let text = "Hello World!"; let echo=1; api.sendText(chatId, text, echo);
python
napi.send_text(chat_id="chatId", text="Message", echo=1, reference=Utils.get_unique_id())

Responses

json
{ "method": "messageAck", "ack": { "reference": 111111125, "date": 1741955529668, "gmid": null, "message_id": "d1_Etk9FYKc126178" } }
json
{ "method": "message", "message": { "date": 1741955529668, "reference": 111111125, "chat": { "name": "MY First API", "id": "90091783822039252", "terminal": "API", "type": "Bot", "version": "('0twD')" }, "sent_to": { "id": "90089584764538542" }, "message_id": "d1_Etk9FYKc126178", "style": 0, "from": { "name": "My First API", "id": "90091783822039252", "terminal": "API", "type": "Bot", "version": "('0twD')" }, "text": "Hello World!", "type": "text" }, "app_id": 90090684293000559 }
json
{ "method": "messageDelivered", "message_id": "d1_Etk9FYKc126178", "reference": 111111125 }
json
{ "method": "messageSeen", "message_ids": [ "d1_Etk9FYKc126178" ] }

Example 2:

Text is more than 1800 characters.

Requests

json
{ "method": "sendMessage", "chat_id": "90089584764538542", "reference": 111111129, "app_id": "90090684293000559", "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pulvinar at ipsum sed vestibulum. Curabitur auctor auctor tellus nec fringilla. Donec at orci sapien. Sed quis dapibus nulla. Nam sit amet felis consectetur, congue ipsum et, dictum sem. Donec non quam nec ipsum rhoncus ornare. Phasellus in ligula libero. Sed suscipit auctor tristique. Nullam lacus odio, feugiat viverra mollis ac, porttitor id lacus. Mauris eget volutpat ipsum. Donec sodales congue diam a ullamcorper. Proin vulputate neque eu lacus lacinia condimentum. Vestibulum varius sem bibendum nibh vehicula tempor. Morbi tortor elit, finibus ac tincidunt et, luctus accumsan urna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Maecenas nisi sem, dictum molestie imperdiet id, pretium sed est. Mauris malesuada, erat eu interdum rhoncus, odio orci vehicula arcu, non bibendum diam nunc eget elit. Quisque sit amet pretium neque, et porta ante. Nulla facilisi. Morbi sagittis tristique arcu et dictum. Aenean convallis, ligula ac porta ornare, erat dui pellentesque ante, non efficitur velit nibh in odio. Mauris laoreet leo in efficitur semper. Sed risus lorem, imperdiet sit amet tellus quis, finibus euismod quam. Etiam pretium, augue quis pulvinar porttitor, mi orci placerat dui, elementum gravida dui justo ut orci. Donec at urna eu diam condimentum scelerisque. Fusce maximus accumsan ante at maximus. Suspendisse sed eros ut nisi egestas dignissim. Nullam egestas quam et molestie cursus. Fusce nulla metus, condimentum non blandit ut, auctor et tortor. Quisque gravida sem a justo interdum, vel consequat felis tincidunt. Duis feugiat libero quis leo facilisis aliquam. In quis tempor turpis. Donec rhoncus leo vitae mi dignissim semper. Aliquam vitae porttitor dui. Etiam varius porttitor gravida. Sed eu scelerisque eros, ac tincidunt enim. Fusce suscipit iaculis pretium. Proin id risus augue. Pellentesque sed placerat arcu. Nulla vel ipsum erat. Nam laoreet risus bibendum lacus pharetra ultricies. Nam interdum vel turpis in scelerisque. Praesent placerat, metus nec maximus blandit, ante libero feugiat lorem, sit amet mattis magna leo sit amet nibh. Suspendisse eu ante at sapien consectetur aliquam eu ut metus. Ut mi lorem, euismod id dignissim vel, lacinia id nulla. Curabitur odio massa, luctus sit amet suscipit vel, sodales vitae augue. Donec eu lobortis odio. Etiam eu ligula vitae quam porta volutpat id ac magna. Etiam sollicitudin pulvinar risus sed fermentum. Aliquam dapibus lectus sit amet tincidunt ullamcorper. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nam tempor purus et elit pharetra efficitur. Donec fermentum enim tellus, et faucibus massa malesuada vitae. Quisque vitae scelerisque nisl. Quisque eget efficitur diam. Phasellus ac lobortis risus, at consectetur velit. Integer purus augue, convallis quis quam ut, porta tempor augue. Mauris nisi turpis, vehicula id ipsum quis, commodo fermentum diam. Ut pellentesque, lorem sit amet interdum rutrum, quam dui dapibus odio, vel porttitor purus nisi vitae mauris. Maecenas malesuada diam orci, vitae facilisis nisi iaculis maximus. Cras luctus odio in lorem pulvinar, vitae placerat est rhoncus. Orci varius natoque penatibus et magnis dis parturient montes, nascetur ridiculus mus. Aliquam felis neque, maximus vel sodales non, euismod sed magna. Vivamus interdum tellus eros. Curabitur malesuada dolor in libero iaculis, eget luctus sapien blandit. Nunc at quam nisl. Aliquam auctor lectus blandit, posuere purus id, pellentesque turpis. Praesent at risus at nulla egestas ultricies eu at nibh. Sed euismod quam diam, id ultricies ligula ultricies eu. Vivamus sed tempor eros. Nunc nunc nibh, consequat ultrices efficitur non, blandit pharetra neque. Maecenas pellentesque urna purus, eget tempus eros rhoncus eu. Curabitur tempor ante ut nisi vulputate, eu egestas urna venenatis. Nulla sit amet posuere risus. Aenean et blandit ligula, quis bibendum ligula. Maecenas vel pulvinar leo. Maecenas non interdum elit. Nam mattis felis urna, at euismod odio rhoncus eget. Maecenas dui turpis, bibendum a feugiat nec, aliquet a nisi. Vivamus efficitur lectus non arcu malesuada, ac maximus dolor mollis. Maecenas vulputate felis sed elit blandit efficitur. Quisque id augue sodales, rutrum arcu in, maximus urna. Nam convallis, orci nec porta viverra, sapien sem fringilla felis, ac ullamcorper diam mauris quis nisi. Morbi id nibh id est tincidunt placerat. Aliquam porta gravida eleifend. Maecenas quis velit dolor. Aenean commodo rutrum felis tincidunt placerat. Nulla pulvinar egestas justo a pulvinar. Donec vitae tempus est, quis venenatis augue. Aliquam interdum erat nec ex congue, quis volutpat dolor lobortis. Sed ac ultrices quam. Maecenas ultricies aliquet eros, in luctus nisi elementum ut. Sed tortor ipsum, hendrerit ut justo non, scelerisque convallis ex. Vestibulum purus velit, tempor a facilisis non, porttitor dictum mauris. Ut sed massa molestie mauris auctor finibus a ut tortor. Fusce non nisi leo. Suspendisse vitae luctus neque. Sed ultrices semper pharetra. Quisque congue nunc at nibh porta cursus. Morbi ullamcorper, augue nec consequat suscipit, orci libero convallis ante, id facilisis est augue ut orci. Cras luctus neque nibh. Vestibulum sagittis, elit id malesuada commodo, leo enim fringilla elit, sit amet viverra ex mi vel ante. Sed posuere augue et justo rhoncus, quis auctor leo mattis. In mi neque, vestibulum sed justo id, tristique blandit dui. Phasellus ut maximus metus, vitae fringilla dolor. Vestibulum placerat quam sem, id consequat nulla molestie at. Quisque lacinia est non orci molestie, ut tempor justo auctor. Phasellus luctus, lectus sed fermentum condimentum, elit diam pulvinar enim, sit amet suscipit justo mi nec mi. Quisque ut cursus mauris. Donec rhoncus enim arcu, a tincidunt dolor luctus id. Nam sed tellus dictum, placerat lectus et, venenatis felis. Donec finibus metus quam, at venenatis nunc egestas in. Aenean orci est, feugiat in rutrum sed, ullamcorper sed nunc. Proin a ligula ac lorem tincidunt ornare. In tempus urna eu imperdiet mattis. Etiam semper neque id massa ornare, vitae dignissim ipsum tincidunt. Phasellus libero sapien, consequat non suscipit ac, tincidunt eu diam. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Suspendisse aliquam at ligula et elementum. Pellentesque semper nunc et nisl bibendum finibus. Nulla at tellus quis nisl hendrerit maximus. Morbi faucibus purus tellus, sit amet tempor tortor ultrices vitae. Duis venenatis sollicitudin leo. Vestibulum iaculis rhoncus mi, eget blandit metus cursus eu. Mauris porttitor rutrum ipsum, quis tempus neque. Suspendisse accumsan ultrices ex, vel sagittis arcu vulputate a. Mauris mauris sapien, tempor quis consectetur hendrerit, ultricies a leo. Aenean iaculis semper libero. Maecenas at urna blandit, consectetur lacus a, vestibulum felis. Donec gravida ac velit id tempus. Maecenas in aliquam enim, quis consectetur nulla. Sed molestie dolor eu pretium venenatis. Praesent facilisis enim eget nunc ullamcorper elementum. Nullam nec pellentesque ligula. Nullam iaculis dolor ac ex bibendum, pharetra aliquet dui luctus. Phasellus lacus dolor, consequat non neque non, rhoncus ultricies mauris. Donec feugiat mattis dignissim. Integer faucibus, orci vitae aliquam semper, justo magna tempus odio, at lobortis tortor tortor sed tortor. Donec malesuada leo ut ipsum aliquet venenatis. Duis magna dolor, elementum id nunc laoreet, varius posuere turpis. Nulla dignissim, magna eget facilisis commodo, ex magna consectetur lorem, in viverra mi turpis sagittis ligula. Sed accumsan quam et ante rhoncus, quis pellentesque sem fermentum. Fusce eleifend sodales enim at dictum. Vivamus scelerisque metus eget quam ornare ornare. Phasellus fringilla diam lacinia, tristique neque sed, venenatis turpis. Vivamus non quam non nisi sodales maximus. Interdum et malesuada fames ac ante ipsum primis in faucibus. Phasellus nisi metus, tincidunt at porttitor pretium, ultrices eget sem. Aenean commodo in sapien et consequat. Maecenas ut commodo lacus, ac facilisis eros. Donec eu odio nisi. Curabitur massa nisl, faucibus in dui nec, maximus vestibulum tortor. Vivamus vel tortor ac lacus auctor bibendum et id enim. Nullam ultricies vulputate tortor eget luctus. Donec aliquet metus vel eleifend fringilla. Nam sagittis magna sit amet justo porta, a posuere leo molestie. Praesent lacinia pellentesque porta. Donec viverra sollicitudin neque vel condimentum. Quisque elementum velit a metus tristique auctor. Nulla facilisi. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec finibus pellentesque est at porttitor. Morbi ac diam in lorem dictum porttitor. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Integer turpis sapien, malesuada id gravida nec, facilisis eget libero. Donec sed luctus nulla. Duis interdum venenatis augue nec vulputate. Suspendisse tempus nisi vitae dolor dapibus tincidunt. Sed vel lobortis risus. Curabitur tortor purus, finibus vel ornare quis, interdum quis leo. Nam eu sagittis lorem. Nam mollis ac ex sed eleifend. Nam at posuere orci. Duis ac elit arcu. Morbi pretium enim nec sem maximus, vel pellentesque nibh tristique. Mauris porttitor, sem ac convallis facilisis, nulla elit molestie augue, at finibus magna diam vel ante. Aliquam erat volutpat. Nulla mattis volutpat eros, nec venenatis nulla interdum ac. Vestibulum posuere posuere nisl, eget egestas ipsum convallis vel. Nullam ullamcorper libero at libero malesuada, vel imperdiet nibh maximus. Vivamus a feugiat urna. Ut semper erat eu nunc blandit faucibus. Donec quis cursus mi. Proin volutpat tellus sed mi pharetra, tristique porttitor mauris gravida. Curabitur ut sapien a sapien tempor pellentesque. Etiam at cursus massa, a efficitur nulla. Donec lacinia mi ac diam tincidunt maximus. Aliquam congue blandit velit. Sed et sem euismod, ornare ex ut, fermentum erat. Pellentesque habitant morbi tristique senectus et netus et malesuada fames ac turpis egestas. Nulla venenatis vulputate pulvinar. Integer nec leo id nulla dictum faucibus et at sapien. Nulla id auctor lacus. Phasellus quis congue ligula. Curabitur venenatis, velit quis lobortis rhoncus, urna tellus scelerisque leo, eget mattis est metus nec nibh. Nam cursus ex vel turpis porta convallis eu sed nisi. Praesent vehicula efficitur augue, eget fringilla sem cursus at. Praesent ac nisl placerat, accumsan tortor ac, aliquet orci. Donec vitae fringilla elit. Donec in quam ut odio mattis ornare a et turpis. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia curae; Etiam rhoncus interdum erat nec lacinia. Proin sit amet ornare dui. Donec ex dolor, tempus molestie augue rhoncus, convallis faucibus felis. Ut pretium consectetur urna, quis facilisis nisl consectetur eget. Donec vitae egestas turpis. Morbi massa magna, ultricies a felis ut, lacinia lacinia nisi. Vestibulum vitae erat ex. Etiam dui est, lobortis pharetra orci sit amet, rutrum convallis turpis. Nam non mattis magna. Donec auctor, eros et ultrices pellentesque, elit justo volutpat risus, nec sollicitudin mauris mauris eu tellus. Phasellus pretium gravida turpis id vulputate. Etiam laoreet suscipit ante, a efficitur nibh venenatis at. Nam vel scelerisque ex. Nulla sollicitudin lorem in sollicitudin venenatis. Suspendisse non ullamcorper arcu, nec gravida tellus. In hac habitasse platea dictumst. Ut ac facilisis mauris. Nunc placerat, lorem quis vehicula pulvinar, lorem ipsum rutrum mi, eu vehicula ipsum neque quis lacus. Vivamus suscipit, mauris quis tempor lobortis, metus sapien venenatis ipsum, nec semper odio arcu ac sem. Aliquam accumsan sapien mi, vitae ultrices diam fringilla quis. Vestibulum leo leo, maximus eget suscipit at, pretium ut risus. Proin vitae fermentum tortor, ut ultricies libero. Donec non finibus sem, quis sodales justo. Cras sit amet tempus diam, eu vulputate quam. Etiam sed auctor nisi, et mollis tellus. Phasellus et lectus vel eros tempor ultrices.", "echo": 1 }
java
String chatId = "90089584764538542"; String text = "Hello World!"; int echo =1; api.sendText(chatId, text, echo);
javascript
let chatId = "90089584764538542"; let text = "Hello World!"; let echo=1; api.sendText(chatId, text, echo);
python
napi.send_text(chat_id="chatId", text="Message", echo=1, reference=Utils.get_unique_id())

Responses

json
{ "method": "messageAck", "ack": { "reference": 111111129, "date": 1741962293433, "gmid": null, "message_id": "d1_3NMolOz0126187" } }
json
{ "method": "message", "message": { "date": 1741962293433, "reference": 111111129, "chat": { "name": "My First API", "id": "90091783822039252", "terminal": "API", "type": "Bot", "version": "('0twD')" }, "sent_to": { "id": "90089584764538542" }, "message_id": "d1_3NMolOz0126187", "style": 0, "from": { "name": "My First API", "id": "90091783822039252", "terminal": "API", "type": "Bot", "version": "('0twD')" }, "text": "Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nullam pulvinar at ipsum sed vestibulum. Curabitur auctor auctor tellus nec fringilla. Donec at orci sapien. Sed quis dapibus nulla. Nam sit amet felis consectetur, congue ipsum et, dictum sem. Donec non quam nec ipsum rhoncus ornare. Phasellus in ligula libero. Sed suscipit auctor tristique. Nullam lacus odio, feugiat viverra mollis ac, porttitor id lacus. Mauris eget volutpat ipsum. Donec sodales congue diam a ullamcorper. Proin vulputate neque eu lacus lacinia condimentum. Vestibulum varius sem bibendum nibh vehicula tempor.\r\n\r\nMorbi tortor elit, finibus ac tincidunt et, luctus accumsan urna. Class aptent taciti sociosqu ad litora torquent per conubia nostra, per inceptos himenaeos. Maecenas nisi sem, dictum molestie imperdiet id, pretium sed est. Mauris malesuada, erat eu interdum rhoncus, odio orci vehicula arcu, non bibendum diam nunc eget elit. Quisque sit amet pretium neque, et porta ante. Nulla facilisi. Morbi sagittis tristique arcu et dictum. Aenean convallis, ligula ac porta ornare, erat dui pellentesque ante, non efficitur velit nibh in odio. Mauris laoreet leo in efficitur semper. Sed risus lorem, imperdiet sit amet tellus quis, finibus euismod quam. Etiam pretium, augue quis pulvinar porttitor, mi orci placerat dui, elementum gravida dui justo ut orci.\r\n\r\nDonec at urna eu diam condimentum scelerisque. Fusce maximus accumsan ante at maximus. Suspendisse sed eros ut nisi egestas dignissim. Nullam egestas quam et molestie cursus. Fusce nulla metus, condimentum non blandit ut, auctor et tortor. Quisque gravida sem a justo interdum, vel consequat felis tincidunt. Duis feugiat libero quis leo facilisis aliquam. In quis tempor turpis. Donec rhoncus leo vitae mi dignissim semper. Aliquam vitae porttitor dui", "type": "text_file", "app_id": 90090684293000559, "text_file": { "size": 12162, "id": "null7846edb10b41a5b11fac74ab0699b4f56b956c7e247b90c590f311d6bee8a35b.txt" } }, "app_id": 90090684293000559 }
json
{ "method": "messageDelivered", "message_id": "d1_3NMolOz0126187", "reference": 111111129 }
json
{ "method": "messageSeen", "message_ids": [ "d1_3NMolOz0126187" ] }