Python ilə Telegram Bot: Azərbaycan Bazarı üçün Praktiki Nümunə
Telegram bot yazmaq Azərbaycanda freelance və iş tapmağın ən sürətli yollarından birinə çevrilib. Gəlin real layihə ilə öyrənək.
Python ilə Telegram Bot: Azərbaycan Bazarı üçün Praktiki Nümunə
Salam, developer dostum. Bu gün çox konkret bir mövzudan danışacağıq: Python ilə Telegram bot yazmaq və bunu Azərbaycan bazarına necə uyğunlaşdırmaq. Nəzəriyyə ilə vaxtını almayacağam — birbaşa işə keçirik.
Niyə Telegram Bot? Niyə İndi?
Azərbaycanda Telegram istifadəçi sayı 2025-ci ilin sonuna 4.5 milyonu keçib. WhatsApp hələ də güclüdür, amma biznes avtomatlaşdırma söhbəti gələndə Telegram açıq ara öndədir. Səbəbi sadədir: Bot API pulsuz, sənədləşməsi əla, və Azərbaycan biznesləri artıq bunu anlayıb.
Bir neçə real nümunə:
- Bravo, Araz Market kimi şəbəkələr müştəri dəstəyi üçün botlardan istifadə edir
- Bakıdakı restoran sifarişləri — xüsusilə kiçik bizneslərdə Telegram bot ilə sifariş qəbulu artıb
- Freelance bazarı — Upwork və Fiverr-də "Telegram bot developer" axtarışları 2025-də 40% artıb
- Bakıda bir Telegram bot layihəsi üçün freelance qiymət 150-800 AZN arasında dəyişir, mürəkkəbliyindən asılı olaraq
Bəs maaş? LinkedIn və jobs.day.az məlumatlarına görə, Python backend developer Bakıda orta hesabla 1200-2500 AZN maaş alır. Telegram bot bacarığı CV-nə əlavə etmək sənin bazarda fərqlənməyinə kömək edir.
Nə Qururuq?
Real ssenari: Valyuta məzənnəsi botu. İstifadəçi AZN-USD, AZN-EUR və ya AZN-TRY məzənnəsini soruşur, bot real vaxtda cavab verir. Bu Azərbaycanda həqiqətən işlənən bir şeydir — xüsusilə ticarətlə məşğul olan insanlar üçün.
Addım 1: Mühitin Qurulması
Əvvəlcə lazımi kitabxanaları quraşdıraq:
bashpip install python-telegram-bot requests
Telegram-da @BotFather-ə yazıb yeni bot yarat. /newbot əmrini göndər, adını ver, token-ini al. Bu token sənin açarındır — heç kimə vermə, .env faylında saxla.
bash# .env fayl BOT_TOKEN=7123456789:AAHxYz_your_actual_token_here
Addım 2: Əsas Kod Strukturu
Budur tam işləyən bot kodu:
pythonimport os import logging import requests from telegram import Update, ReplyKeyboardMarkup from telegram.ext import ( ApplicationBuilder, CommandHandler, MessageHandler, ContextTypes, filters, ) # Logging konfiqurasiyası logging.basicConfig( format="%(asctime)s - %(name)s - %(levelname)s - %(message)s", level=logging.INFO, ) BOT_TOKEN = os.getenv("BOT_TOKEN") # Valyuta məzənnəsi API (pulsuz) API_URL = "https://api.exchangerate-api.com/v4/latest/AZN" # Dəstəklənən valyutalar SUPPORTED = {"USD": "ABŞ dolları", "EUR": "Avro", "TRY": "Türk lirəsi", "GBP": "Funt sterlinq", "RUB": "Rus rublu"} async def start(update: Update, context: ContextTypes.DEFAULT_TYPE): """Başlanğıc əmri""" keyboard = [[k] for k in SUPPORTED.keys()] reply_markup = ReplyKeyboardMarkup(keyboard, resize_keyboard=True) await update.message.reply_text( "Salam! 🇦🇿 Mən valyuta məzənnəsi botuyam.\n" "Aşağıdakı valyutalardan birini seç və ya birbaşa yaz.\n" "Məsələn: USD, EUR, TRY", reply_markup=reply_markup, ) async def get_rate(update: Update, context: ContextTypes.DEFAULT_TYPE): """Valyuta məzənnəsini göstər""" text = update.message.text.strip().upper() if text not in SUPPORTED: await update.message.reply_text( f"❌ '{text}' valyutası dəstəklənmir.\n" f"Dəstəklənən valyutalar: {', '.join(SUPPORTED.keys())}" ) return try: response = requests.get(API_URL, timeout=10) data = response.json() rate = data["rates"][text] # 1 AZN = ? valyuta və 1 valyuta = ? AZN inverse = round(1 / rate, 4) await update.message.reply_text( f"💱 AZN → {text} ({SUPPORTED[text]})\n" f"━━━━━━━━━━━━━━━━━━\n" f"1 AZN = {rate:.4f} {text}\n" f"1 {text} = {inverse:.4f} AZN\n" f"━━━━━━━━━━━━━━━━━━\n" f"🕐 Yenilənmə: real vaxt" ) except Exception as e: logging.error(f"API xətası: {e}") await update.message.reply_text( "⚠️ Məzənnə alınarkən xəta baş verdi. Bir az sonra yenidən yoxla." ) async def help_cmd(update: Update, context: ContextTypes.DEFAULT_TYPE): """Yardım əmri""" lines = [f" {k} → {v}" for k, v in SUPPORTED.items()] await update.message.reply_text( "ℹ️ İstifadə qaydası:\n" "Sadəcə valyuta kodunu yaz.\n\n" "Dəstəklənən valyutalar:\n" + "\n".join(lines) ) def main(): app = ApplicationBuilder().token(BOT_TOKEN).build() app.add_handler(CommandHandler("start", start)) app.add_handler(CommandHandler("help", help_cmd)) app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, get_rate)) print("Bot işə düşdü ✅") app.run_polling() if __name__ == "__main__": main()
Addım 3: Botu İşə Sal
bashexport BOT_TOKEN="7123456789:AAHxYz_your_token" python bot.py
Terminalda Bot işə düşdü ✅ yazısını görəcəksən. Telegram-da botuna yaz, /start göndər — işləyir!
Kodu Təhlil Edək
Bu sadə bot olsa da, bir neçə peşəkar praktikanı əhatə edir:
- Environment variable ilə token saxlama — hardcode etmə,
.envistifadə et - Error handling — API cavab verməsə istifadəçi xəta mesajı görür, bot çökməz
- Logging — production-da bug tapmaq üçün kritikdir
- ReplyKeyboardMarkup — istifadəçi UX-ini yaxşılaşdırır, yazmağa ehtiyac qalmır
- Timeout — API sorğusunda 10 saniyə limit var, bot asılı qalmaz
Növbəti Addımlar: Botu Peşəkar Səviyyəyə Çıxar
Bu baza layihəni CV-nə yazmaq üçün genişləndirmək olar:
- Inline mode əlavə et — istənilən çatda
@botunun_adi USDyazaraq istifadə etmək - PostgreSQL ilə istifadəçi statistikası saxla — neçə nəfər, hansı valyutanı, nə qədər tez-tez soruşur
- Webhook rejimi — polling əvəzinə webhook istifadə et (production üçün daha yaxşı)
- Docker ilə konteynerləşdir və Railway və ya Render-ə deploy et (hər ikisi pulsuz tier verir)
- Konversiya kalkulyatoru — istifadəçi
100 USDyazanda avtomatik AZN-ə çevirsin
Deploy Harada Etməli?
Azərbaycandan işləyən developer-lər üçün ən rahat variantlar:
| Platform | Pulsuz Tier | Bakıdan Latency |
|---|---|---|
| Railway | 500 saat/ay | Yaxşı (~120ms) |
| Render | 750 saat/ay | Yaxşı (~140ms) |
| VPS (Hetzner) | ~5 EUR/ay | Əla (~80ms) |
Məsləhətim: ilk öncə Railway-də pulsuz test et, ciddi layihə üçün Hetzner VPS al.
Bu Bacarığı Necə Pula Çevirmək Olar?
Konkret rəqəmlərlə danışaq:
- Freelance (yerli): Kiçik Telegram bot layihəsi Bakıda 200-500 AZN, orta mürəkkəblikdə 500-1500 AZN
- Freelance (xarici): Upwork-də eyni iş 200-800 USD arasında gedir
- Tam iş: Telegram bot təcrübəsi olan Python developer Bakıda 1500-3000 AZN maaş gözləyə bilər
- Öz məhsulun: SaaS model ilə bizneslərə aylıq abunə ilə bot xidməti sat — 50-200 AZN/ay/müştəri
Son Söz
Telegram bot yazmaq — proqramlaşdırmanın ən "görünən" formalarından biridir. Veb sayt backend-i yazdığında heç kim görməyəcək, amma bot yazdığında insanlar birbaşa istifadə edir və sənin işini hiss edir.
Bu məqalədəki kodu götür, dəyişdir, öz ideyalarını əlavə et. Ən yaxşı öyrənmə yolu — bir şey qurmaq və real istifadəçilərə göstərməkdir. Bakıdakı developer icmasında bu cür layihələri paylaşmağı unutma — həm networking, həm də iş imkanları gələcək.
Kod yazmağa davam et. 🚀
Sualın var? Telegram kanalımıza yaz və ya kommentdə paylaş. Gələn həftə "FastAPI ilə Telegram Bot Webhook" mövzusunda davam edəcəyik.
Oxşar məqalələr
Python Automation: Gündəlik Developer İşlərini Avtomatlaşdırmaq
Hər gün əl ilə gördüyün 2 saatlıq işi Python ilə 5 dəqiqəyə endirmək mümkündür. Real kod nümunələri ilə gündəlik developer tapşırıqlarını avtomatlaşdıraq.
Django vs FastAPI — 2026-da Hansını Seçməli? Praktiki Bələdçi
Bakıda backend developer kimi işə düzəlmək istəyirsən? Django və FastAPI arasında seçim etmək çətindir. Real kod, maaş rəqəmləri və lokal bazarın tələbləri ilə hər ikisini müqayisə edirik.
FastAPI + Next.js: Full-Stack REST API Layihəni Sıfırdan Qur
FastAPI ilə backend, Next.js ilə frontend — bu ikili ilə Bakıda iş tapmaq şansını necə artırmaq olar? Real kod və praktiki məsləhətlərlə.