Telegram botunu necə host etmək olar
Bu səhifədə
Telegram botu yalnız kodu işlədiyi müddətdə cavab verir. Onu noutbukunuzda qursanız, noutbuk yuxu rejiminə keçən kimi susacaq — buna görə gec-tez hər bot daim açıq qalan bir evə ehtiyac duyur.
Bu bələdçi bütün yolu əhatə edir: botu BotFather ilə yaratmaq, polling və webhook arasında seçim etmək, Python və JavaScript-də işlək nümunə, Telegram-ın qoyduğu limitlər və qaydalar, həmçinin botu 24/7 onlayn saxlamaq.
Addım 1: Botu BotFather ilə yaradın
- Telegram-da @BotFather söhbətini açın və
/newbotgöndərin. - Bota görünən ad, sonra istifadəçi adı verin: 5–32 simvol, latın hərfləri, rəqəmlər və alt xətlər, sonu
botilə bitməlidir — məsələn,my_shop_helper_bot. - BotFather token ilə cavab verir; o, belə görünür:
123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11. Ona sahib olan hər kəs botunuzu idarə edir, buna görə onu kodunuzdan kənarda saxlayın və heç vaxt paylaşmayın. Sızarsa, yenisini almaq üçün BotFather-ə/tokengöndərin.
Bilməyə dəyər daha iki BotFather əmri: /setcommands istifadəçilərin / yazanda gördüyü əmrlər siyahısını əlavə edir, /setprivacy isə botun qruplarda nəyi gördüyünü idarə edir. Məxfilik rejimi standart olaraq aktivdir, ona görə qrupda bot yalnız ona ünvanlanan əmrləri və öz mesajlarına verilən cavabları alır — onu admin etməsəniz.
Polling, yoxsa webhook?
Bot mesajlarını Telegram-dan iki yoldan biri ilə alır — heç vaxt hər ikisi ilə eyni vaxtda:
| Long polling | Webhook | |
|---|---|---|
| Necə işləyir | Bot bir açıq bağlantı üzərindən Telegram-dan daim yeni mesajları soruşur | Telegram hər yeniləməni sizin HTTPS ünvanınıza göndərir |
| Nə lazımdır | Yalnız çıxan internet girişi | Domen, etibarlı sertifikat və 443, 80, 88 və ya 8443 portu |
| Ən uyğun | Demək olar ki, hər bot üçün; host etmək də ən asandır | Çox yüklü botlar və ya serverless platformalar |
Polling ilə başlayın. Ona domen, sertifikat və ya açıq port lazım deyil və hər kitabxana onu dəstəkləyir. Əgər token üzərində nə vaxtsa webhook qurulubsa, əvvəlcə deleteWebhook çağırın — webhook aktiv olduqca polling işləmir.
Polling botları HytHost bot hostinqində domen və ya açıq port qurmadan işləyir — Python və ya Node.js, ayda €0.89-dən.
Bot hostinq planlarına baxınAddım 2a: Python-da bot (python-telegram-bot)
python-telegram-bot 22 üçün Python 3.10 və ya daha yeni versiya lazımdır. Onu pip install python-telegram-bot ilə quraşdırın və bot.py faylını yaradın:
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()
Python-da digər populyar seçim aiogram 3-dür; o da Python 3.10 və ya daha yeni versiyada işləyir.
Addım 2b: JavaScript-də bot (grammY)
grammY Node.js üçün aktiv dəstəklənən Telegram framework-üdür. npm install grammy işə salın və bot.js faylını yaradın:
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();
Köhnə dərsliklər Telegraf-dan istifadə edir; onun 2024-cü ilin fevralından bəri yeni buraxılışı olmayıb. Yeni bot üçün grammY daha etibarlı seçimdir.
Telegram-ın botlar üçün limitləri və qaydaları
Telegram-ın bot FAQ-ından limitlər:
- Bir söhbətdə saniyədə təxminən bir mesaj, qrupda dəqiqədə 20 mesaj və ümumilikdə saniyədə təxminən 30 mesaj.
- Fayllar: bot 50 MB-a qədər göndərə və 20 MB-a qədər yükləyə bilər.
- Eyni anda botun yalnız bir nüsxəsi polling edə bilər. İkincisi Conflict: terminated by other getUpdates request xətası alır — test üçün ayrıca token istifadə edin.
Qaydalar: Telegram-ın bot developerləri üçün şərtləri spam və istənilməyən mesajları, həmçinin sürət limitlərindən yan keçməyi qadağan edir. Botun məxfilik siyasəti olmalıdır (özünüzünkünü yazmasanız, Telegram-ın standart siyasəti tətbiq olunur) və istək olduqda istifadəçinin məlumatlarını silməlidir. Bot əvəzinə şəxsi hesabı avtomatlaşdırmaq — userbot adlanan şey — tamamilə başqa məsələdir və Telegram flood və ya spam üçün istifadə olunan hesabları bloklayır.
HytHost-da Telegram bot hostinqi
Bizim bot hostinqi planlarımız Discord botları ilə yanaşı Telegram botlarını da işlədir:
- Plan və mühit seçin — python-telegram-bot və ya aiogram üçün Python, grammY üçün Node.js. Startup tabında Python 3.10 və ya daha yenisini, yaxud aktual Node.js versiyasını seçin.
- Kodunuzu yükləyin — fayl meneceri və ya SFTP ilə,
requirements.txtvə yapackage.jsonilə birlikdə. - Tokeni
.envfaylına və ya mühit dəyişəninə qoyun, koda yox. - İşə salın. Polling ilə bota domen və ya açıq port lazım deyil; çökərsə, panel onu yenidən başladır.
Qaydalarımızın icazə verdikləri: rəsmi Bot API üzərində qurulmuş, BotFather tokeni ilə işləyən botlar. İcazə verilmir: şəxsi hesabı avtomatlaşdıran userbotlar, istənilməyən kütləvi mesajlar, istifadəçilərin və ya qrupların məlumatlarının toplanması (scraping) və hüquqları olmadan medianı yükləyib ötürən botlar. Bu qaydaları pozan bot dayandırılır.
Planlara MySQL verilənlər bazası və ehtiyat nüsxələr daxildir. Discord botu da hazırlayırsınız? Baxın: Discord botunu necə yaratmaq olar.
Telegram botunuzu kompüteriniz olmadan 24/7 onlayn saxlayın: ayda €0.89-dən Python və ya Node.js bot hostinqi, yenidən başlatmalar daxildir.
Bot hostinq planlarına baxınTez-tez verilən suallar
Onu öz kompüterinizdə pulsuz işlədə bilərsiniz, amma kompüter yuxu rejiminə keçəndə və ya yenidən başlayanda bot oflayn olur. Pulsuz bulud planları tez-tez boş qalan tətbiqləri dayandırır və ya istifadəni məhdudlaşdırır. Onlayn qalan bot üçün kiçik ödənişli hostinq etibarlı seçimdir.
Demək olar ki, hər bot üçün polling: ona domen, sertifikat və ya açıq port lazım deyil. Webhook-lar çox yüklü botlara və ya serverless platformalara uyğundur və 443, 80, 88 və ya 8443 portunda HTTPS tələb edir. Bir token hər ikisini eyni vaxtda istifadə edə bilməz.
@BotFather-ə /token göndərin və yeni token almaq üçün botu seçin, sonra botun işlədiyi hər yerdə onu yeniləyin. Tokeni mühit dəyişənində və ya .env faylında saxlayın, heç vaxt paylaşdığınız kodda yox.
Botun iki nüsxəsi eyni token ilə polling edir, məsələn, biri kompüterinizdə, biri serverdə. Onlardan birini dayandırın və test üçün ayrıca bot və token istifadə edin.
Çox az. Əmrlərə cavab verən tipik Python və ya Node.js botu adətən 512 MB-da rahat işləyir; şəkil emal edən və ya yaddaşda böyük məlumat saxlayan botlara daha çox lazımdır.
Telegram botunuz 24/7 onlayn
HytHost bot hostinqi Python və ya Node.js Telegram botunuzu avtomatik yenidən başlatma, MySQL verilənlər bazası və ehtiyat nüsxələrlə işlədir — ayda €0.89-dən.
Live chat 8 AM – 11 PM (Chișinău time) · tickets answered during business hoursBu bələdçi sizə kömək etdi?