messages.SendMessage
Sends a message to a chat
Example
const { Api, TelegramClient } = require("telegram");
const { StringSession } = require("telegram/sessions");
const session = new StringSession(""); // You should put your string session here
const client = new TelegramClient(session, apiId, apiHash, {});
(async function run() {
await client.connect(); // This assumes you have already authenticated with .start()
const result = await client.invoke(
new Api.messages.SendMessage({
peer: "username",
message: "Hello there!",
randomId: BigInt("-4156887774564"),
noWebpage: true,
noforwards: true,
scheduleDate: 43,
sendAs: "username",
})
);
console.log(result); // prints the result
})();
import { Api, TelegramClient } from "telegram";
import { StringSession } from "telegram/sessions";
const session = new StringSession(""); // You should put your string session here
const client = new TelegramClient(session, apiId, apiHash, {});
(async function run() {
await client.connect(); // This assumes you have already authenticated with .start()
const result: Api.Updates = await client.invoke(
new Api.messages.SendMessage({
peer: "username",
message: "Hello there!",
randomId: BigInt("-4156887774564"),
noWebpage: true,
noforwards: true,
scheduleDate: 43,
sendAs: "username",
})
);
console.log(result); // prints the result
})();
Parameters
Name | Type | Description |
---|---|---|
flags | # | Flags, see TL conditional fields |
noWebpage | flags.1?true | Set this flag to disable generation of the webpage preview |
silent | flags.5?true | Send this message silently (no notifications for the receivers) |
background | flags.6?true | Send this message as background message |
clearDraft | flags.7?true | Clear the draft field |
noforwards | flags.14?true | Only for bots, disallows forwarding and saving of the messages, even if the destination chat doesn't have content protection enabled |
peer | InputPeer | The destination where the message will be sent |
replyToMsgId | flags.0?int | The message ID to which this message will reply to |
message | string | The message |
randomId | long | Unique client message ID required to prevent message resending |
replyMarkup | flags.2?ReplyMarkup | Reply markup for sending bot buttons |
entities | flags.3?Vector<MessageEntity> | Message entities for sending styled text |
scheduleDate | flags.10?int | Scheduled message date for scheduled messages |
sendAs | flags.13?InputPeer | Send this message as the specified peer |
Result
Possible errors
Code | Type | Description |
---|---|---|
400 | BOT_DOMAIN_INVALID | Bot domain invalid. |
400 | BOT_INVALID | This is not a valid bot. |
400 | BUTTON_DATA_INVALID | The data of one or more of the buttons you provided is invalid. |
400 | BUTTON_TYPE_INVALID | The type of one or more of the buttons you provided is invalid. |
400 | BUTTON_URL_INVALID | Button URL invalid. |
400 | CHANNEL_INVALID | The provided channel is invalid. |
400 | CHANNEL_PRIVATE | You haven't joined this channel/supergroup. |
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_RESTRICTED | You can't send messages in this chat, you were restricted. |
403 | CHAT_WRITE_FORBIDDEN | You can't write in this chat. |
400 | ENCRYPTION_DECLINED | The secret chat was declined. |
400 | ENTITIES_TOO_LONG | You provided too many styled message entities. |
400 | ENTITY_MENTION_USER_INVALID | You mentioned an invalid user. |
400 | FROM_MESSAGE_BOT_DISABLED | Bots can't use fromMessage min constructors. |
400 | INPUT_USER_DEACTIVATED | The specified user was deleted. |
400 | MESSAGE_EMPTY | The provided message is empty. |
400 | MESSAGE_TOO_LONG | The provided message is too long. |
400 | MSG_ID_INVALID | Invalid message ID provided. |
400 | PEER_ID_INVALID | The provided peer id is invalid. |
400 | PINNED_DIALOGS_TOO_MUCH | Too many pinned dialogs. |
400 | POLL_OPTION_INVALID | Invalid poll option provided. |
500 | RANDOM_ID_DUPLICATE | You provided a random ID that was already used. |
400 | REPLY_MARKUP_INVALID | The provided reply markup is invalid. |
400 | REPLY_MARKUP_TOO_LONG | The specified reply_markup is too long. |
400 | SCHEDULE_BOT_NOT_ALLOWED | Bots cannot schedule messages. |
400 | SCHEDULE_DATE_TOO_LATE | You can't schedule a message this far in the future. |
400 | SCHEDULE_STATUS_PRIVATE | Can't schedule until user is online, if the user's last seen timestamp is hidden by their privacy settings. |
400 | SCHEDULE_TOO_MUCH | There are too many scheduled messages. |
400 | SEND_AS_PEER_INVALID | You can't send messages as the specified peer. |
420 | SLOWMODE_WAIT_%d | Slowmode is enabled in this chat: wait %d seconds before sending another message to this chat. |
400 | USER_BANNED_IN_CHANNEL | You're banned from sending messages in supergroups/channels. |
403 | USER_IS_BLOCKED | You were blocked by this user. |
400 | USER_IS_BOT | Bots can't send messages to other bots. |
400 | YOU_BLOCKED_USER | You blocked this user. |
Can bots use this method?
Yes
Related pages
Styled text with message entities
How to create styled text with message entities
Scheduled messages
Telegram allows scheduling messages