Telegram bot hosztolása
Ezen az oldalon
Egy Telegram bot csak addig válaszol, amíg a kódja fut. Ha a laptopodon építed, elhallgat, amint a laptop alvó módba lép — így előbb-utóbb minden botnak szüksége van egy otthonra, amely bekapcsolva marad.
Ez az útmutató a teljes utat végigveszi: a bot létrehozását a BotFatherrel, a választást polling és webhook között, egy működő példát Pythonban és JavaScriptben, a Telegram által szabott korlátokat és szabályokat, valamint azt, hogyan tartsd a botot 24/7 online.
1. lépés: Hozd létre a botot a BotFatherrel
- A Telegramban nyisd meg a @BotFather botot, és küldd el:
/newbot. - Adj a botnak megjelenítendő nevet, majd felhasználónevet: 5–32 karakter, latin betűk, számjegyek és aláhúzásjelek, és
botvégződésű legyen — példáulmy_shop_helper_bot. - A BotFather a tokennel válaszol, amely így néz ki:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Aki birtokolja, az irányítja a botodat, ezért tartsd a kódon kívül, és soha ne oszd meg. Ha kiszivárog, küldd el a BotFathernek a/tokenparancsot, hogy újat kapj.
Még két hasznos BotFather parancs: a /setcommands hozzáadja a parancslistát, amelyet a felhasználók a / beírásakor látnak, a /setprivacy pedig azt szabályozza, mit lát a bot a csoportokban. Az adatvédelmi mód alapértelmezetten be van kapcsolva, így csoportban a bot csak a neki szóló parancsokat és a saját üzeneteire adott válaszokat kapja meg — hacsak nem teszed adminná.
Polling vagy webhook?
A bot kétféleképpen kaphatja meg az üzeneteit a Telegramtól — a kettőt soha nem egyszerre:
| Long polling | Webhook | |
|---|---|---|
| Hogyan működik | A bot egy nyitott kapcsolaton keresztül folyamatosan új üzeneteket kér a Telegramtól | A Telegram minden frissítést elküld a HTTPS-címedre |
| Mi kell hozzá | Csak kimenő internet-hozzáférés | Domain, érvényes tanúsítvány és 443-as, 80-as, 88-as vagy 8443-as port |
| Mire a legjobb | Szinte minden botra, és ezt a legkönnyebb hosztolni | Nagyon forgalmas botokra vagy serverless platformokra |
Kezdd a pollinggal. Nem kell hozzá domain, tanúsítvány és nyitott port, és minden könyvtár támogatja. Ha a tokenen valaha be volt állítva webhook, előbb hívd meg a deleteWebhook metódust — a polling nem működik, amíg webhook aktív.
A pollingot használó botok a HytHost bot hostingon futnak, domain és nyitott port beállítása nélkül — Python vagy Node.js €0.89/hó-tól.
Bot hosting csomagok2a. lépés: Bot Pythonban (python-telegram-bot)
A python-telegram-bot 22-höz Python 3.10 vagy újabb kell. Telepítsd a pip install python-telegram-bot paranccsal, és hozd létre a bot.py fájlt:
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()
Pythonban az aiogram 3 a másik népszerű választás, szintén Python 3.10 vagy újabb verzióval.
2b. lépés: Bot JavaScriptben (grammY)
A grammY az aktívan karbantartott Telegram keretrendszer Node.js-hez. Futtasd az npm install grammy parancsot, és hozd létre a bot.js fájlt:
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();
A régebbi oktatóanyagok a Telegrafot használják, amelynek 2024 februárja óta nem jelent meg új kiadása; új bothoz a grammY a biztonságosabb választás.
A Telegram korlátai és szabályai a botokra
Korlátok a Telegram bot GYIK-je alapján:
- Nagyjából egy üzenet másodpercenként egy csevegésben, 20 üzenet percenként egy csoportban, és összesen nagyjából 30 üzenet másodpercenként.
- Fájlok: a bot legfeljebb 50 MB-ot küldhet és legfeljebb 20 MB-ot tölthet le.
- Egyszerre csak a bot egy példánya pollingolhat. A második ezt kapja: Conflict: terminated by other getUpdates request — teszteléshez használj külön tokent.
Szabályok: a Telegram botfejlesztői feltételei tiltják a spamet és a kéretlen üzeneteket, valamint a sebességkorlátok megkerülését. A botnak adatvédelmi szabályzat kell (ha nem írsz sajátot, a Telegram általános szabályzata érvényes), és kérésre törölnie kell a felhasználó adatait. Egy személyes fiók automatizálása bot helyett — az úgynevezett userbot — egészen más dolog, és a Telegram letiltja az elárasztásra vagy spamre használt fiókokat.
Telegram bot hosting a HytHostnál
Bot hosting csomagjaink a Discord botok mellett Telegram botokat is futtatnak:
- Válassz csomagot és futtatókörnyezetet — Pythont a python-telegram-bothoz vagy az aiogramhoz, Node.js-t a grammY-hoz. A Startup fülön válassz Python 3.10-et vagy újabbat, illetve egy aktuális Node.js-t.
- Töltsd fel a kódodat a fájlkezelővel vagy SFTP-n, a
requirements.txtvagypackage.jsonfájllal együtt. - A tokent tedd egy
.envfájlba vagy környezeti változóba, ne a kódba. - Indítsd el. Pollinggal a botnak nem kell domain és nyitott port; ha összeomlik, a panel újraindítja.
Amit a szabályaink megengednek: a hivatalos Bot API-ra épülő, BotFather tokennel működő botokat. Nem megengedett: személyes fiókot automatizáló userbotok, kéretlen tömeges üzenetek, felhasználók vagy csoportok adatainak lekaparása, valamint olyan botok, amelyek jogosultság nélkül töltenek le és adnak tovább médiát. Az e szabályokat megszegő botot felfüggesztjük.
A csomagok MySQL adatbázist és biztonsági mentéseket tartalmaznak. Discord botot is készítesz? Nézd meg: hogyan készíts Discord botot.
Tartsd a Telegram botodat 24/7 online a géped nélkül: Python vagy Node.js bot hosting €0.89/hó-tól, újraindításokkal együtt.
Bot hosting csomagokGyakran ismételt kérdések
Ingyen futtathatod a saját gépeden, de offline lesz, valahányszor a gép alvó módba lép vagy újraindul. Az ingyenes felhőcsomagok gyakran szüneteltetik a tétlen alkalmazásokat vagy korlátozzák a használatukat. Online maradó bothoz egy kis fizetős hosting a megbízható megoldás.
Szinte minden bothoz polling: nem kell hozzá domain, tanúsítvány és nyitott port. A webhook nagyon forgalmas botokhoz vagy serverless platformokhoz való, és HTTPS kell hozzá a 443-as, 80-as, 88-as vagy 8443-as porton. Egy token nem használhatja egyszerre mindkettőt.
Küldd el a /token parancsot a @BotFathernek, és válaszd ki a botot, hogy új tokent kapj, majd frissítsd mindenhol, ahol a bot fut. A tokent környezeti változóban vagy .env fájlban tartsd, soha ne a megosztott kódban.
A bot két példánya pollingol ugyanazzal a tokennel, például egy a gépeden és egy a szerveren. Állítsd le az egyiket, és teszteléshez használj külön botot és tokent.
Nagyon kevés. Egy tipikus, parancsokra válaszoló Python vagy Node.js bot általában gond nélkül fut 512 MB-on; a képeket feldolgozó vagy nagy adatokat memóriában tartó botoknak több kell.
A Telegram botod, 24/7 online
A HytHost bot hosting automatikus újraindítással, MySQL adatbázissal és biztonsági mentésekkel futtatja Python vagy Node.js Telegram botodat — €0.89/hó-tól.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursHasznos volt ez az útmutató?