Telegram · Juhend

Kuidas Telegrami botti majutada

Uuendatud October 11, 2026 4 min lugemist

Sellel lehel
  1. 1. samm: loo bot BotFatheriga
  2. Polling või webhookid?
  3. 2a. samm: bot Pythonis (python-telegram-bot)
  4. 2b. samm: bot JavaScriptis (grammY)
  5. Telegrami piirangud ja reeglid bottidele
  6. Telegrami boti majutus HytHostis
  7. KKK

Telegrami bot vastab ainult siis, kui selle kood töötab. Kui ehitad selle oma sülearvutis, jääb see vait hetkel, mil sülearvuti magama läheb — nii et varem või hiljem vajab iga bot kodu, mis on alati sees.

See juhend katab kogu tee: boti loomine BotFatheriga, valik pollingu ja webhookide vahel, töötav näide Pythonis ja JavaScriptis, Telegrami seatud piirangud ja reeglid ning kuidas hoida botti võrgus 24/7.

1. samm: loo bot BotFatheriga

  1. Ava Telegramis @BotFather ja saada /newbot.
  2. Anna botile kuvatav nimi ja seejärel kasutajanimi: 5 kuni 32 märki, ladina tähed, numbrid ja alakriipsud, lõpuga bot — näiteks my_shop_helper_bot.
  3. BotFather vastab tokeniga, mis näeb välja nagu 123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Igaüks, kellel see on, juhib sinu botti, seega hoia seda koodist eemal ja ära seda kunagi jaga. Kui see lekib, saada BotFatherile /token, et saada uus.

Veel kaks BotFatheri käsku, mida tasub teada: /setcommands lisab käskude loendi, mida kasutajad näevad / trükkimisel, ja /setprivacy määrab, mida bot gruppides näeb. Vaikimisi on privaatsusrežiim sees, nii et grupis saab bot ainult talle mõeldud käske ja vastuseid oma sõnumitele — kui sa ei tee teda administraatoriks.

Polling või webhookid?

Bot saab oma sõnumid Telegramilt ühel kahest viisist — mitte kunagi mõlemal korraga:

Long pollingWebhook
Kuidas see töötabBot küsib ühe avatud ühenduse kaudu Telegramilt pidevalt uusi sõnumeidTelegram saadab iga uuenduse sinu HTTPS-aadressile
VajabAinult väljuvat internetiühendustDomeeni, kehtivat sertifikaati ja porti 443, 80, 88 või 8443
Sobib kõige pareminiPeaaegu igale botile ja seda on kõige lihtsam majutadaVäga koormatud bottidele või serverless-platvormidele

Alusta pollinguga. See ei vaja domeeni, sertifikaati ega avatud porti ning iga teek toetab seda. Kui tokenile on kunagi webhook seatud, kutsu esmalt välja deleteWebhook — polling ei tööta, kuni webhook on aktiivne.

Pollingut kasutavad botid töötavad HytHosti botimajutuses ilma domeeni või avatud porti seadistamata — Python või Node.js alates €0.89/kuu.

Vaata botimajutuse pakette

2a. samm: bot Pythonis (python-telegram-bot)

python-telegram-bot 22 vajab Python 3.10 või uuemat. Paigalda see käsuga pip install python-telegram-bot ja loo bot.py:

import os
from telegram import Update
from telegram.ext import Application, CommandHandler, ContextTypes, MessageHandler, filters

async def start(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text("Hi! Send me a message and I will echo it.")

async def echo(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
    await update.message.reply_text(update.message.text)

def main() -> None:
    application = Application.builder().token(os.environ["TELEGRAM_TOKEN"]).build()
    application.add_handler(CommandHandler("start", start))
    application.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, echo))
    application.run_polling(allowed_updates=Update.ALL_TYPES)

if __name__ == "__main__":
    main()

Teine populaarne valik Pythonis on aiogram 3, samuti Python 3.10 või uuema jaoks.

2b. samm: bot JavaScriptis (grammY)

grammY on aktiivselt hooldatav Telegrami raamistik Node.js jaoks. Käivita npm install grammy ja loo bot.js:

const { Bot } = require("grammy");

const bot = new Bot(process.env.TELEGRAM_TOKEN);
bot.command("start", (ctx) => ctx.reply("Welcome! Up and running."));
bot.on("message:text", (ctx) => ctx.reply(ctx.message.text));

process.once("SIGINT", () => bot.stop());
process.once("SIGTERM", () => bot.stop());
bot.start();

Vanemad juhendid kasutavad Telegrafi, millest pole alates 2024. aasta veebruarist uut versiooni ilmunud; uue boti jaoks on grammY kindlam valik.

Telegrami piirangud ja reeglid bottidele

Piirangud Telegrami boti-KKK põhjal:

  • Umbes üks sõnum sekundis ühes vestluses, 20 sõnumit minutis grupis ja kokku umbes 30 sõnumit sekundis.
  • Failid: bot saab saata kuni 50 MB ja alla laadida kuni 20 MB.
  • Korraga tohib pollingut teha ainult üks boti koopia. Teine saab vea Conflict: terminated by other getUpdates request — kasuta testimiseks eraldi tokenit.

Reeglid: Telegrami tingimused botiarendajatele keelavad rämpsposti ja soovimatud sõnumid ning kiiruspiirangutest möödahiilimise. Botil peab olema privaatsuspoliitika (kui sa oma ei kirjuta, kehtib Telegrami standardpoliitika) ja see peab kasutaja soovil tema andmed kustutama. Isikliku konto automatiseerimine boti asemel — nn userbot — on hoopis midagi muud ja Telegram blokeerib kontod, mida kasutatakse üleujutamiseks või rämpspostiks.

Telegrami boti majutus HytHostis

Meie botimajutuse paketid käitavad nii Telegrami kui ka Discordi botte:

  1. Vali pakett ja runtime — Python python-telegram-boti või aiogrami jaoks, Node.js grammY jaoks. Vali vahekaardil Startup Python 3.10 või uuem või praegune Node.js.
  2. Laadi oma kood üles failihalduri või SFTP kaudu koos failiga requirements.txt või package.json.
  3. Pane token faili .env või keskkonnamuutujasse, mitte koodi.
  4. Käivita see. Pollinguga ei vaja bot domeeni ega avatud porti; kui see kokku jookseb, taaskäivitab paneel selle.

Mida meie reeglid lubavad: ametlikule Bot API-le ehitatud botid BotFatheri tokeniga. Keelatud: userbotid, mis automatiseerivad isiklikku kontot, soovimatud massisõnumid, kasutajate või gruppide andmete kraapimine ning botid, mis laadivad alla ja levitavad meediat ilma selle õigusteta. Bot, mis neid reegleid rikub, peatatakse.

Paketid sisaldavad MySQL-andmebaasi ja varukoopiaid. Teed ka Discordi botti? Vaata juhendit kuidas teha Discordi botti.

Hoia oma Telegrami botti võrgus 24/7 ilma oma arvutita: Pythoni või Node.js botimajutus alates €0.89/kuu, taaskäivitused hinnas.

Vaata botimajutuse pakette
KKK

Korduma kippuvad küsimused

Saad seda tasuta oma arvutis käitada, kuid see läheb võrgust välja iga kord, kui arvuti magama läheb või taaskäivitub. Tasuta pilvepaketid peatavad sageli jõudeolevad rakendused või piiravad nende kasutust. Võrgus püsiva boti jaoks on väike tasuline majutus usaldusväärne valik.

Polling peaaegu igale botile: see ei vaja domeeni, sertifikaati ega avatud porti. Webhookid sobivad väga koormatud bottidele või serverless-platvormidele ja vajavad HTTPS-i pordil 443, 80, 88 või 8443. Üks token ei saa kasutada mõlemat korraga.

Saada @BotFatherile /token ja vali bot, et saada uus token, seejärel uuenda seda kõikjal, kus bot töötab. Hoia tokenit keskkonnamuutujas või .env-failis, mitte kunagi koodis, mida jagad.

Kaks boti koopiat teevad sama tokeniga pollingut, näiteks üks sinu arvutis ja teine serveris. Peata üks neist ja kasuta testimiseks eraldi botti ja tokenit.

Väga vähe. Tüüpiline Pythoni või Node.js bot, mis vastab käskudele, töötab tavaliselt hästi 512 MB peal; botid, mis töötlevad pilte või hoiavad mälus suuri andmemahte, vajavad rohkem.

Sinu Telegrami bot, võrgus 24/7

HytHosti botimajutus käitab sinu Pythoni või Node.js Telegrami botti automaatsete taaskäivituste, MySQL-andmebaasi ja varukoopiatega — alates €0.89/kuu.

Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hours

Kas see juhend oli abiks?