API Telegram: Wysyłanie wiadomości (sendMessage) w curl, Python i Node

Wysyłanie wiadomości przez API Telegrama

API Telegrama: Wysyłaj wiadomość: sendMessage i Połączone Konta

Przewodnik po wysyłaniu wiadomości na Telegramie oparty na kodzie: API Bota 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.



send_message.sh
# 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"
200 OK: wiadomość wysłana
Przewodnik decyzyjny

Trzy sposoby na wysłanie wiadomości na Telegramie i który z nich wybrać

Istnieją dokładnie trzy sposoby na wysłanie wiadomości za pośrednictwem interfejs API Telegrama. Nie są one zamienne: każdy z nich wysyła wiadomość jako inny rodzaj nadawcy, z innymi ograniczeniami dotyczącymi tego, kto może ją otrzymać.
API bota sendMessage
Pojedyncze wywołanie HTTP, uwierzytelnione tokenem bota od BotFather. Najszybszy sposób na wysyłanie powiadomień, alertów i odpowiedzi. Haczyk: bot może wysyłać wiadomości tylko do użytkowników, którzy wcześniej rozpoczęli z nim konwersację.
Najlepsze dla botów i powiadomień
Klient MTProto (API Telegrama)
Pełny dostęp do protokołu przez api_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.
Najlepsze do tworzenia niestandardowego klienta
Połączone konto użytkownikaUnipile
Wysyła jako prawdziwe konto Telegram, połączone za pomocą funkcji Urządzenia w Telegramie (kod QR lub autoryzacja hostowana). Bez ograniczenia "napisz do mnie najpierw", działa również w grupach i istniejących konwersacjach.
Najlepsze do masowych wiadomości wychodzących
Uzyskanie tokenu bota lub 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
Samouczek kodu

Wyślij wiadomość za pomocą punktu końcowego sendMessage interfejsu Bot API

Bot API udostępnia pojedynczy punkt końcowy HTTP do wysyłania wiadomości: 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.
ParametrTypOpis
chat_id WymaganyLiczba całkowita lub Ciąg znakówUnikalny identyfikator czatu docelowego lub @username na kanał publiczny.
text WymaganyCiąg znakówTekst wiadomości, od 1 do 4096 znaków po analizie encji.
tryb parsowania OpcjonalnieCiąg znakówMarkdownV2, HTML lub starsze Markdown, aby sformatować pogrubienie, linki oraz kod.
wyłącz_powiadomienie OpcjonalnieLogicznyWysyła wiadomość po cichu, bez dźwięku powiadomienia push.
parametry_odpowiedzi OpcjonalnieObiektWysyła wiadomość jako odpowiedź na istniejącą wiadomość na czacie.



zwijać się
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" }'



send_message.py
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())



sendMessage.js
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);
Punkt Bascule

Dlaczego boty nie mogą pisać jako pierwsze i co to oznacza dla Ciebie

Każde powyższe wywołanie sendMessage działa, aż do momentu, gdy spróbujesz skontaktować się z kimś, kto nigdy nie wchodził w interakcję z Twoim botem. Wtedy API Bota natrafia na ścianę, której nie naprawi żaden parametr, ponowna próba ani obejście.
Bot nie może napisać do użytkownika, który wcześniej do niego nie napisał
To jest strukturalna reguła Bot API, a nie limit szybkości ani błąd. Dopóki użytkownik nie wyśle /start (lub dowolną wiadomość) do swojego bota, 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.
Klient MTProto nie ma tego ograniczenia: pełny klient API Telegrama może wysyłać wiadomości do każdego użytkownika, tak samo jak robi to aplikacja Telegram.
Połączone konto użytkownika też go nie ma, ponieważ wiadomość jest wysyłana przez prawdziwe konto Telegram, a nie bota. To podejście zostało omówione w kolejnej sekcji.


Zbuduj przepływ połączonego konta
Powiązane konto

W wyślij z prawdziwego konta Telegram za pomocą Unipile

Unipile łączy się z prawdziwym Telegramem konto użytkownika, a nie bot. Łączenie odbywa się za pomocą własnej funkcji Urządzeń Telegrama, poprzez skanowanie kodu QR lub uwierzytelnianie hostowane za pomocą 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.
1
Rozpocznij nową konwersację za pomocą startChat
Kiedy odbiorca nie ma istniejącego czatu z powiązanym kontem, wywołaj 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.



start_chat.py
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:1
2
W wywiadzie istniejącego czatu za pomocą sendMessage
Kiedyś chat_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.



send_message.js
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);
Oba wywołania przyjmują format multipart/form-data, nie JSON. W przypadku czatów 1:1, 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
Grupy

Wyślij wiadomość w grupie na Telegramie

Wysyłanie do grupy działa tak samo jak wysyłanie do istniejącego czatu: 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.
OperacjaPunkt końcowyNotatki
GET Lista uczestników/v2/{account_id}/chats/{chat_id}/participantsZwraca aktualną listę członków grupy.
POST Dodaj uczestnika/v2/{account_id}/chats/{chat_id}/participantsWymaga włączenia uprawnienia "Dodaj innych członków" w grupie.
USUŃ Usuń uczestnika/v2/{account_id}/chats/{chat_id}/participantsPowiązane konto musi być administratorem grupy.
Przed polegnięciem na kodzie odpowiedzi sprawdź uprawnienia. Jeśli grupa nie przyznaje uprawnienia "Dodawanie innych członków" lub powiązane konto nie jest administratorem, interfejs API może nadal zwrócić odpowiedź o sukcesie bez faktycznego dodawania lub usuwania kogokolwiek. Zawsze weryfikuj listę uczestników po wywołaniu, nie ufaj samemu kodowi statusu.
Czego nie obsługuje Telegram w Unipile
Kanały, społeczności i transmisje
Działania administratora grupy: zatwierdzanie lub awansowanie członków
Załączniki zawierające kontakt, lokalizację, ankietę oraz wydarzenie
Archiwizacja czatów
Połączenia głosowe i wideo
Dostarczalność

Najlepsze praktyki pozwalające uniknąć ograniczeń na Telegramie

Powiązane konto zachowuje się jak prawdziwy użytkownik Telegramu, co oznacza, że podlega również te same standardy antyspamowe jako całość. Oficjalne wytyczne Unipile są bezpośrednie: zbyt wiele rozpoczętych konwersacji bez odpowiedzi albo zbyt wiele sygnałów o spamie i blokowaniu może doprowadzić do tymczasowego ograniczenia konta.
Szanuj opóźnienie
Nigdy nie wysyłaj wiadomości częściej niż co 10 do 20 sekund. Zmieniaj odstępy czasu, nie wysyłaj ich co do sekundy.
Rozgrzej nowe konta
Unikaj wysyłania dużych ilości wiadomości z świeżo powiązanych kont. Zacznij od małych ilości i zwiększaj je stopniowo, w miarę jak wskaźniki odpowiedzi potwierdzą, że konto jest zaufane.
Obserwuj współczynniki odpowiedzi
Duży udział konwersacji, które pozostają bez odpowiedzi, to jeden z najsilniejszych sygnałów, jakich Telegram używa do oznaczania konta.
Preferuj ciepły kontakt
Rozmowy opierające się na istniejącej relacji lub poleceniu generują mniej blokad niż w pełni zimne pierwsze wiadomości.
To jest decyzja po stronie klienta
Unipile przekaże wiadomości, które wyślesz, ale nie ustala za Ciebie harmonogramu. Wysyłana ilość, czas oraz tempo są ustalane przez Ciebie, w oparciu o historię konta i aktualny poziom tolerancji samej platformy Telegram. Wprowadzenie realistycznych opóźnień od samego początku jest tutaj zdecydowanie najbardziej skuteczną praktyką.


Buduj z zachowaniem bezpiecznych limitów wysyłania
Buduj z Unipile

Gotowy do wysyłania wiadomości na Telegramie z prawdziwych, powiązanych kont?

Jedno API dla startChat i sendMessage w Telegramie, WhatsApp, LinkedIn, Instagramie, Gmailu, Outlooku i IMAPie, a także w Kalendarzu Google i Kalendarzu Outlook. Połącz konto i wyślij swoją pierwszą wiadomość w kilka minut.

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ą.

Porozmawiaj z ekspertem
pl_PLPL