API Telegrama: Wysyłaj wiadomość: sendMessage i Połączone Konta
sendMessage punkt końcowy w curl, Pythonie i Node, strukturalne ograniczenie, które uniemożliwia botowi napisanie do kogokolwiek w pierwszej kolejności, oraz jak wysyłać wiadomości z prawdziwego, połączonego konta Telegram za pomocą Unipile Rozpocznij czat oraz sendMessage.# Bot API – funkcja sendMessage
curl -X POST "https://api.telegram.org/bot$TOKEN/sendMessage" \
-d chat_id=123456789 \
-d text="Pozdrowienia z Bot API" \
-d parse_mode="Markdown"Trzy sposoby na wysłanie wiadomości na Telegramie i który z nich wybrać
sendMessageapi_id oraz api_hash, używana do zbudowania własnego klienta Telegramu od zera (Telethon, Pyrogram, TDLib). Najbardziej wymagająca opcja pod względem implementacji i utrzymania.api_id / api_hash para to oddzielny temat. Instrukcje krok po kroku znajdziesz w naszym pełnym przewodniku po uzyskiwanie dostępu do API Telegramu. Ten przewodnik dotyczy wyłącznie wysyłania wiadomości po uzyskaniu poświadczeń.Skonfiguruj integrację z Telegramem
Wyślij wiadomość za pomocą punktu końcowego sendMessage interfejsu Bot API
POST https://api.telegram.org/bot/sendMessage. Od Bot API 10.2 (14 lipca 2026 r.) wymagane parametry pozostają bez zmian: a chat_id i a text ciało.| Parametr | Typ | Opis |
|---|---|---|
chat_id Wymagany | Liczba całkowita lub Ciąg znaków | Unikalny identyfikator czatu docelowego lub @username na kanał publiczny. |
text Wymagany | Ciąg znaków | Tekst wiadomości, od 1 do 4096 znaków po analizie encji. |
tryb parsowania Opcjonalnie | Ciąg znaków | MarkdownV2, HTML lub starsze Markdown, aby sformatować pogrubienie, linki oraz kod. |
wyłącz_powiadomienie Opcjonalnie | Logiczny | Wysyła wiadomość po cichu, bez dźwięku powiadomienia push. |
parametry_odpowiedzi Opcjonalnie | Obiekt | Wysyła wiadomość jako odpowiedź na istniejącą wiadomość na czacie. |
curl -X POST "https://api.telegram.org/bot$TELEGRAM_BOT_TOKEN/sendMessage" \
-H "Typ-Zawartości: application/json" \
-d '{
"chat_id": 123456789,
""text": "Twoje zamówienie o numerze #4821 zostało wysłane.",
"parse_mode": "MarkdownV2"
}'import żądania
ŻETON = "123456:ABC-twoj-token-bota"
url = f"https://api.telegram.org/bot{TOKEN}/sendMessage"
ładunek = {
"chat_id": 123456789,
"tekst": "Twoje zamówienie nr #4821 zostało wysłane.",
"tryb_analizy": "MarkdownV2"
}
response = żądania.stanowisko(url, json=payload)
print(odpowiedź.json())const ŻETON = "123456:ABC-twoj-token-bota";
const url = `https://api.telegram.org/bot${TOKEN}/sendMessage`;
const response = czekać fetch(url, {
method: "POST",
nagłówki: { "Content-Type": "application/json" },
body: JSON.stringify({
chat_id: 123456789,
text: "Twoje zamówienie nr #4821 zostało wysłane.",
tryb_analizy: "MarkdownV2"
})
});
const dane = czekać odzew.json();
konsola.log(dane);Dlaczego boty nie mogą pisać jako pierwsze i co to oznacza dla Ciebie
sendMessage do tego chat_id ponosi całkowitą porażkę. Jest to w porządku w przypadku botów wsparcia i powiadomień opartych na zgoda użytkownika (opt-in), gdzie użytkownik najpierw sam się odzywa. Zupełnie nie sprawdza się to w przypadkach użycia wychodzącego: outreachu sprzedażowego, wiadomości dotyczących odzyskiwania konta, transakcyjnych pingów do kontaktu, który nigdy nie otworzył Twojego bota.Zbuduj przepływ połączonego konta
W wyślij z prawdziwego konta Telegram za pomocą Unipile
dostawcy: "TELEGRAM". Ponieważ wiadomość pochodzi z prawdziwego konta, nie ma ograniczenia typu "napisz do mnie jako pierwszy" wyłącznie dla botów, które trzeba by omijać. Zobacz Telegram API strona produktu zawierająca pełną listę punktów końcowych.POST /czaty z identyfikatory_użytkowników oraz text. Telegram pozwala tylko na jedną indywidualną konwersację na parę użytkowników, więc jeśli taki czat już istnieje, to samo wywołanie po prostu dostarcza do niego wiadomość zamiast tworzyć duplikat.import żądania
url = "https://api6.unipile.com/v2/${accountId}/chats/send"
nagłówki = {"X-API-KEY": api_key}
dane = {
"account_id": identyfikator_konta,
"identyfikatory_użytkowników": [telegram_user_id],
"tekst": "Cześć, nawiązuję do Twojej prośby."
}
response = żądania.stanowisko(url, headers=headers, data=data)
czat = odzew.json()
print(czat["chat_id"]) Identyfikator odbiorcy # w czatach 1:1chat_id istnieje, połączenie POST /chats/{chat_id}/messages z samym text ciało. Jest to wywołanie używane dla każdej kolejnej wiadomości w trwającej rozmowie.const identyfikator czatu = "CHAT_ID_FROM_STARTCHAT";
const forma = nowy DaneFormularza();
formularz.dołączyć("tekst", "Twoja aktualizacja jest gotowa do sprawdzenia.");
const response = czekać fetch(
`https://api6.unipile.com/v2/${accountId}/chats/${chatId}/messages/send`,
{
method: "POST",
nagłówki: { "X-API-KEY": apiKey },
ciało: forma
}
);
const Wysłano = czekać odzew.json();
konsola.log(sent.message_id);chat_id zwrócone przez Rozpocznij czat to własny identyfikator odbiorcy: gdy znasz identyfikator użytkownika w Telegramie, możesz użyć go ponownie bezpośrednio do sendMessage bez kroku wyszukiwania.Zacznij budować z Unipile
Wyślij wiadomość w grupie na Telegramie
POST /chats/{chat_id}/messages z grupą chat_id i a text główną. Zmiany polegają na zarządzaniu uczestnikami, które korzysta z własnych punktów końcowych.| Operacja | Punkt końcowy | Notatki |
|---|---|---|
| GET Lista uczestników | /v2/{account_id}/chats/{chat_id}/participants | Zwraca aktualną listę członków grupy. |
| POST Dodaj uczestnika | /v2/{account_id}/chats/{chat_id}/participants | Wymaga włączenia uprawnienia "Dodaj innych członków" w grupie. |
| USUŃ Usuń uczestnika | /v2/{account_id}/chats/{chat_id}/participants | Powiązane konto musi być administratorem grupy. |
Najlepsze praktyki pozwalające uniknąć ograniczeń na Telegramie
Buduj z zachowaniem bezpiecznych limitów wysyłania
Gotowy do wysyłania wiadomości na Telegramie z prawdziwych, powiązanych kont?
API Telegrama – Wysyłanie wiadomości – FAQ
Często zadawane pytania dotyczące wysyłania wiadomości w Telegramie za pomocą Bot API oraz powiązanych kont.
Wywołaj metodę POST pod adresem https://api.telegram.org/bot/sendMessage, podając parametry chat_id i text. Token pochodzi z serwisu BotFather. Interfejs API bota jest bezpłatny, a jego aktualna wersja to 10.2, opublikowana 14 lipca 2026 r..
Telegram wymaga, aby użytkownik otworzył konwersację z botem, zanim bot będzie mógł cokolwiek wysłać. Nie ma punktu końcowego, który pozwalałby botowi rozpocząć czat z dowolnym użytkownikiem. Jeśli Twój produkt musi zainicjować kontakt, bot jest niewłaściwym narzędziem i potrzebujesz prawdziwego konta użytkownika.
startChat otwiera nową konwersację i wysyła pierwszą wiadomość w jednym wywołaniu. sendMessage wysyła wiadomość do konwersacji, która już istnieje. Telegram zezwala tylko na jedną indywidualną czatę na użytkownika, więc wywołanie startChat dla osoby, z którą masz już czat, po prostu wysyła wiadomość do tego istniejącego czatu.
Za pomocą API bota dodaj bota do grupy i użyj identyfikatora chat_id grupy. Z poziomu połączonego konta wyślij wiadomość na identyfikator czatu grupy jak na każdy inny czat. Unipile udostępnia również listę uczestników, dodawanie i usuwanie z grup, ale nie obsługuje kanałów, społeczności ani nadawania.
Telegram obsługuje MarkdownV2 oraz HTML. MarkdownV2 wymaga escapowania długiej listy znaków zastrzeżonych, dlatego HTML jest zazwyczaj bezpieczniejszym wyborem, gdy tekst wiadomości jest generowany dynamicznie.
Nie używaj zupełnie nowego konta wyłącznie do automatyzacji, zwiększaj wolumen stopniowo i nigdy nie wysyłaj szybciej niż jednej wiadomości co 10 do 20 sekund. Telegram banuje na stałe za flooding, spamowanie i sztuczne nabijanie liczników, a rozpoczynanie wielu konwersji, na które nie ma odpowiedzi, jest silnym sygnałem spamu.
Masz jeszcze jakieś pytania? Nasz zespół służy pomocą.