NOWOŚĆ 📢 Ograniczona oferta na start: do 70% zniżki na pierwszy miesiąc, na każdą grę!Zobacz plany

Jak hostować bota Telegram

Hosting botów DiscordUpdated Oct 29, 20268 min read

Aby hostować bota Telegram 24/7, uruchom go na serwerze, który zawsze działa, a nie na swoim komputerze: utwórz bota w @BotFather, zamów plan dla botów pod Telegram, wklej token na stronie Bot i uruchom kod. W planie dla botów PlayNHost (od 1,99 USD miesięcznie) panel sprawdza token w Telegramie, przekazuje go twojemu kodowi pod nazwami, których używa większość bibliotek, i oferuje gotowego bota startowego w Pythonie lub Node.js, jeśli nie masz jeszcze kodu. Kroki:

  1. W Telegramie otwórz @BotFather, wyślij /newbot, wybierz nazwę oraz nazwę użytkownika kończącą się na bot i skopiuj token, który dostaniesz.
  2. Na stronie Hosting botów Telegram kliknij Utwórz serwer przy wybranym planie. W oknie zamówienia na pytanie Na jaką platformę jest Twój bot? odpowiedz Telegram i wybierz język, w którym napisano twojego bota.
  3. Otwórz swój serwer w panelu. Na karcie Skonfiguruj swojego bota na stronie Przegląd sprawdź krok Co działa i kliknij Dalej.
  4. W kroku Połącz z Telegramem wklej token i kliknij Połącz. Sprawdź wyświetloną nazwę bota i kliknij Tak, dalej.
  5. W kroku Twój kod kliknij Utwórz bota startowego albo prześlij własne pliki lub połącz Git.
  6. Kliknij Uruchom bota i poczekaj na komunikat Twój bot jest online w Telegramie. Wyślij mu /start, żeby go wypróbować.
  7. Na stronie Bot, w sekcji Telegram, kliknij Otwórz w Telegramie i wyślij swojemu botowi /start.

Każdy krok jest opisany poniżej.

1. Utwórz bota w @BotFather

  1. W Telegramie wyszukaj @BotFather i otwórz czat.
  2. Wyślij /newbot. @BotFather poprosi o nazwę, którą ludzie widzą na czatach, a potem o nazwę użytkownika. Nazwa użytkownika musi kończyć się na bot, na przykład tetris_bot albo TetrisBot.
  3. @BotFather odpowie tokenem, czyli linią w rodzaju 110201543:AAHdqTcvCH1vGWJxfSeofSAs0K5PALDsaw. Skopiuj ją. Kto ma token, ten steruje twoim botem, więc nikomu go nie podawaj i nie wpisuj go do kodu.

Nie możesz znaleźć tokena? W @BotFather wyślij /mybots, wybierz swojego bota, potem API Token.

2. Zamów plan dla Telegrama

Każdy plan, od STARTER (0,5 GB) wzwyż, uruchamia bota Telegram. Kliknij Utwórz serwer przy planie, który chcesz. Okno zamówienia pyta Na jaką platformę jest Twój bot?: wybierz Telegram. Potem wybierasz język swojego bota: Node.js, Python, Java, C# (.NET), Bun, Deno, Go albo Rust. Nie wiesz, jaki plan wybrać? W python-telegram-bot kontra aiogram w PlayNHost znajdziesz pamięć, którą zmierzyliśmy dla każdej biblioteki.

Okno zamówienia planu STARTER, krok 1 z 2: Na jaką platformę jest Twój bot? z wybranym Telegramem i osiem kafelków języków: Node.js, Python, Java, C# (.NET), Bun, Deno, Go i Rust.

Masz już plan dla botów skonfigurowany pod Discord? Nie potrzebujesz nowego. Na stronie Bot, w sekcji Discord, znajdź kartę Do czego służy ten bot?, wybierz Telegram i potwierdź przyciskiem Przełącz. Nic nie jest usuwane: token Discord zostaje zapisany i wraca, jeśli przełączysz z powrotem. Jeśli token jest już zapisany w sekcji Środowisko jako TELEGRAM_BOT_TOKEN, staje się tokenem Telegrama i nie musisz go wklejać ponownie.

3. Wklej token

Otwórz swój serwer w panelu. Karta Skonfiguruj swojego bota na stronie Przegląd prowadzi cię przez trzy kroki: Co działa, Połącz z Telegramem i Twój kod.

  1. Co działa podaje język twojego serwera, na przykład Ten bot uruchamia Python Bot. Kliknij Dalej albo Zmień to, co działa, jeśli to nie ten.
  2. Połącz z Telegramem: wklej token w polu Wklej token swojego bota i kliknij Połącz. Panel pokazuje Sprawdzanie w Telegramie..., a potem nazwę i @username twojego bota z pytaniem Czy to twój bot?. Kliknij Tak, dalej.

Możesz też wkleić go na stronie Bot, w sekcji Telegram, w polu Token. Token, którego Telegram nie przyjął, nie jest zapisywany: zobaczysz Telegram nie przyjął tego tokena. Skopiuj go ponownie z @BotFather.

Token jest przechowywany w postaci zaszyfrowanej i nigdy więcej nie jest pokazywany w panelu. Twój kod dostaje go jako zmienną środowiskową pod pięcioma nazwami, więc większość przykładów działa bez zmian:

NazwaKto jej używa
TELEGRAM_BOT_TOKENNasze boty startowe
BOT_TOKENPrzykłady aiogram, Telegraf i node-telegram-bot-api
TOKENWartość zastępcza w przykładach python-telegram-bot i pyTelegramBotAPI
TELEGRAM_TOKENCzęsto spotykana w poradnikach
TELOXIDE_TOKENteloxide (Rust), odczytywana przez Bot::from_env()

W Pythonie odczytasz go przez os.environ["TELEGRAM_BOT_TOKEN"], w Node.js przez process.env.TELEGRAM_BOT_TOKEN.

4. Dodaj swój kod

W kroku Twój kod karta proponuje to, co pasuje do twojego serwera:

  • Utwórz bota startowego (serwery Node.js i Python, które nie mają jeszcze kodu): mały działający bot, który odpowiada na /start. W Pythonie zapisuje bot.py i requirements.txt z python-telegram-bot 22, w Node.js zapisuje index.js i package.json z grammY. Plik startowy ustawia za ciebie. Zmień go, jak chcesz, i zrestartuj.
  • Prześlij pliki: twój własny bot razem z requirements.txt lub package.json. Pomiń venv, .venv, __pycache__ i node_modules. Zobacz Jak przesłać kod swojego bota.
  • Połącz Git: twój kod z repozytorium Git. Zobacz Jak wdrożyć i aktualizować bota z GitHub.

Twój kod musi używać long pollingu: run_polling() w python-telegram-bot, start_polling() w aiogram, bot.start() w grammY albo launch() w Telegraf. Webhooki wymagają publicznego adresu HTTPS, którego te plany jeszcze nie obejmują. Przenosisz bota, który używał webhooka? Jak przenieść bota Telegram do PlayNHost.

5. Uruchom bota

Kliknij Uruchom bota na karcie albo naciśnij Uruchom i otwórz Console. W Pythonie, Node.js i Bun serwer najpierw instaluje twoje pakiety, więc pierwszy start trwa dłużej, bo pakiety się pobierają. Potem instalują się ponownie tylko wtedy, gdy je zmienisz (listę pakietów, plik pakietów albo wersję runtime), gdy brakuje node_modules albo raz na dobę. W pozostałych przypadkach zobaczysz:

[PlayNHost] Packages are up to date. They install again when you change them, or after a day.
[PlayNHost] Starting your bot

Bot startowy wypisuje potem Logged in as @your_bot. Panel czyta tę linię: znacznik na stronie Przegląd zmienia się na Online w Telegramie. We własnym kodzie wypisz podobną linię, gdy bot jest gotowy.

6. Otwórz go w Telegramie

Na stronie Bot, w sekcji Telegram, kliknij Otwórz w Telegramie. Otworzy się link t.me twojego bota. Wyślij /start: bot startowy odpowie Hello z twoim imieniem i Your bot is running on PlayNHost.

Ta sama sekcja pokazuje @username i id bota oraz kartę W grupach z tym, co Telegram pozwala botowi robić w czatach grupowych.

Sekcja Telegram na stronie Bot: token sprawdzony i Prawidłowy, nazwa bota i @playnhost_demo_bot, link Otwórz w Telegramie oraz karta W grupach z włączoną prywatnością.

Jeśli bot nie odpowiada

Panel czyta konsolę i umieszcza nad nią baner z przyczyną i przyciskiem, który ją naprawia:

  • Telegram nie przyjął tokena twojego bota: token został unieważniony w @BotFather albo źle skopiowany. Kliknij Zastąp token.
  • Twój bot działa też gdzie indziej: inna kopia używa tego samego tokena, często na twoim komputerze albo u starego hostingodawcy.
  • Dla twojego bota ustawiono webhook: kliknij Usuń webhook.

Niektóre biblioteki w takich przypadkach ciągle ponawiają próby, więc bot wygląda na działającego, choć nic nie odpowiada: baner pozwala to zauważyć. Szczegóły: Jak naprawić błąd 409 Conflict bota Telegram.

Pytania, które zadają ludzie

Czy mój bot pozostanie online, gdy wyłączę komputer?

Tak. Działa na serwerze, a nie na twoim komputerze ani w przeglądarce. Jeśli się wywali, zostanie uruchomiony ponownie w ciągu około minuty; jeśli wywali się znowu w ciągu minuty od tego, pozostaje zatrzymany, a Console podaje powód.

Czy mogę użyć webhooka zamiast pollingu?

Jeszcze nie. Webhook wymaga publicznego adresu HTTPS, którego te plany jeszcze nie obejmują. Polling nie potrzebuje adresu: twój bot sam pyta Telegram o nowe wiadomości. Jeśli dla bota ustawiono webhook, sekcja Telegram pokazuje go z przyciskiem Usuń webhook, który zachowuje oczekujące wiadomości.

Czy mogę uruchomić tego samego bota na komputerze podczas testów?

Nie z tym samym tokenem w tym samym czasie. Telegram pozwala pobierać wiadomości tylko jednej kopii bota, więc druga dostanie 409 Conflict. Zatrzymaj kopię na komputerze albo utwórz w @BotFather drugiego bota do testów.

Dlaczego mój bot nie widzi wiadomości w grupie?

Tryb prywatności Telegrama jest domyślnie włączony: w grupach twój bot widzi polecenia przeznaczone dla niego i odpowiedzi do niego, a nie każdą wiadomość, chyba że jest administratorem grupy. Karta W grupach pokazuje Prywatność włączona albo Prywatność wyłączona. Aby czytać każdą wiadomość, wyślij do @BotFather /setprivacy, wyłącz tryb, a potem usuń bota z grupy i dodaj go ponownie.

Jaki plan potrzebuję?

STARTER (0,5 GB) uruchamia bota na python-telegram-bot, aiogram, grammY albo Telegraf i zostawia miejsce na twój kod. Wybierz 1 GB lub więcej, gdy bot trzyma dane w pamięci, obsługuje pliki lub obrazy albo uruchamia kilka botów w jednym procesie. Plany znajdziesz na stronie Hosting botów Telegram.

Twój bot działa już gdzie indziej? Przenieś go do nas

NASZE OSTATNIE WPISY