Biznesga bot nima beradi
Toshkentda ham, viloyatlarda ham mijozlar Telegram’da: sotuvchiga yozadi, ovqat buyurtma qiladi, shifokor yoki ustaga yoziladi. Bot menejerning takroriy ishini yengillashtiradi: tunda ham ariza qabul qiladi, katalogni ko‘rsatadi, yozilish haqida eslatadi, qiziqqan mijozni CRM’ga uzatadi. Instagram va reklamadan kelgan odamni aynan botga yo‘naltirish qulay: tugmani bosadi va yo‘qolib qolmaydigan suhbatga tushadi.
Python bu yerda moda uchun tanlanmaydi. Kodni o‘qish oson, demak loyihani boshqa dasturchiga topshirish ham oson. Ma’lumotlar bazasi, to‘lov va jadvallar bilan ishlash uchun tayyor vositalar bor. Oddiy bot uchun tilning tezligi muammo emas, ancha muhimi — puxta tuzilma.
Python bilan Telegram bot yaratish: qaysi kutubxonani tanlash kerak
Bot doim tashqi xizmatlarga murojaat qiladi: CRM, to‘lov tizimi, ombor hisobi. Asinxron bot bitta so‘rov javobini kutayotganda qotib qolmaydi, boshqa foydalanuvchilarga javob berishda davom etadi. Tanlovni ko‘pincha moda emas, jamoa qaysi kutubxonani bilishi va loyiha qanchalik katta bo‘lishi hal qiladi. Ko‘pincha uchta variant uchraydi:
- aiogram — asinxron kutubxona: routerlar, filtrlar, middleware va holatlar mashinasi (FSM) bor; foydalanuvchisi ko‘p va integratsiyalari ko‘p botlarga mos.
- python-telegram-bot — tarixi uzoq, hujjatlari yaxshi, hozirgi versiyalari ham asinxron.
- pyTelegramBotAPI (telebot) — oddiy, kichik botlar va tez prototip uchun qulay.
Loyiha tuzilmasi
Hamma narsani bitta faylga yozish birinchi kuni qulay, bir oydan keyin esa xavfli. Sog‘lom loyihada mas’uliyat bo‘lingan bo‘ladi:
- handlers — buyruq va xabar ishlovchilari, mavzular bo‘yicha: katalog, savat, profil, admin;
- keyboards — tugmalar va menyular;
- services — biznes mantiq va tashqi API’lar (CRM, to‘lov, hisob);
- db — modellar va so‘rovlar;
- texts — xabar matnlari, o‘zbek va rus tillari alohida;
- config, migratsiyalar va testlar.
Tugmalar, ssenariylar va botning xotirasi
Menyu, katalog va variant tanlash uchun odatda inline tugmalar qo‘llanadi: ular xabarga biriktirilgan va bosilganda chatga matn yozmasdan ma’lumot uzatadi. “Buyurtmalarim” kabi tez-tez kerak bo‘ladigan amallar uchun doimiy klaviatura qulay.
Ko‘p qadamli ssenariylar — buyurtma, yozilish, anketa — bot mijoz qaysi qadamda turganini va nima kiritganini eslab qolishini talab qiladi. Buning uchun holatlar mashinasi ishlatiladi. Ishlab chiqishda holatni xotirada saqlash mumkin, lekin ishchi botda Redis yoki ma’lumotlar bazasidan foydalaning: aks holda server qayta ishga tushganda buyurtmani tugatmagan mijozlarning suhbati uzilib qoladi.
Ma’lumotlar bazasi va maxfiy ma’lumotlar
SQLite prototip uchun yetarli, ko‘p odam bir vaqtda yozadigan ishchi loyiha uchun PostgreSQL yaxshiroq. Baza tuzilmasi migratsiyalar orqali o‘zgartiriladi, shunda yangilanish buyurtmalar va murojaatlar tarixini o‘chirib yubormaydi.
Bot tokeni, parollar va API kalitlari muhit o‘zgaruvchilarida yoki repozitoriyga kiritilmaydigan faylda turadi, kodda emas. Sinov va ishchi bot uchun alohida tokenlar kerak, toki o‘zgarishlarni jonli mijozlarda sinamaslik uchun.
Ishga tushirish va buyurtmachi tekshiradigan narsalar
Bot serverda kechayu kunduz ishlaydi. Odatda uni baza va Redis bilan birga konteynerga joylashadi, avtomatik qayta ishga tushirish va jurnal sozlanadi. Ishlab chiqishda long polling qulay (domen kerak emas), ishchi muhitda esa vebhuk ham qo‘llanadi. Xatolar muqarrar: tashqi xizmat javob bermaydi, mijoz telefon raqami o‘rniga rasm yuboradi. Yaxshi bot tushunarli xabar bilan javob beradi, tafsilotni jurnalga yozadi va administratorni Telegram orqali ogohlantiradi. Qabul qilishdan oldin tekshiring:
- kod siz kira oladigan repozitoriyda turibdi;
- ishga tushirish bo‘yicha yo‘riqnoma bor;
- bot tokeni va server shaxsiy hisobga emas, kompaniyaga rasmiylashtirilgan;
- matnlar alohida va mantiqqa tegmasdan o‘zgartiriladi;
- o‘zgarishlarni tekshirish uchun sinov boti bor;
- bazaning zaxira nusxalari va monitoring sozlangan.
Qayerdan boshlash kerak
Bu oddiy talablar pudratchi almashganda ko‘p muammoni oldini oladi. markdev’da biz ularni loyiha boshidanoq qo‘yamiz, botni CRM, to‘lov va ariza analitikasi bilan bog‘laymiz — qaysi reklama mijoz keltirayotgani ko‘rinib turadi. Buyurtma qabul qilish, yozilish yoki reklamadan kelgan arizalarni qayta ishlash vazifangiz bo‘lsa, bizga yozing: Python’dagi bot kerakmi yoki soddaroq yechim yetadimi, birga aniqlaymiz.
Ko‘p beriladigan savollar
Python’da Telegram botni o‘zim yarata olamanmi?
Bir necha buyruqli oddiy botni boshlovchi ham yasay oladi. Buyurtma, to‘lov, baza va CRM integratsiyasi kerak bo‘lsa, dasturchi jalb qilgan ma’qul: tuzilmadagi xatoni keyin tuzatish qimmatga tushadi.
Biznes boti uchun aiogram yoki python-telegram-bot qaysi biri yaxshi?
Ikkalasi ham mos. Aiogram foydalanuvchisi ko‘p, integratsiyali botlarda keng qo‘llanadi, python-telegram-bot esa hujjatlari bilan qadrlanadi. Ko‘pincha jamoa tajribasi va loyiha hajmi hal qiladi.
Bot tokenini qayerda saqlash kerak?
Muhit o‘zgaruvchilarida yoki repozitoriyga tushmaydigan faylda. Token va server kirishlari bir kishiga bog‘lanib qolmasligi uchun kompaniya nomiga rasmiylashtirilishi kerak.
Botga nega Redis yoki ma’lumotlar bazasi kerak?
Suhbat qadamlari va foydalanuvchi ma’lumotlarini saqlash uchun. Faqat xotirada tursa, bot qayta ishga tushganda tugallanmagan buyurtma va yozilishlar yo‘qoladi.
Vazifangizni bepul tahlil qilamiz
Kontaktingizni qoldiring — 15 daqiqalik qo‘ng‘iroqda arizalar qayerda yo‘qolayotganini va birinchi navbatda nima qilish kerakligini ko‘rsatamiz.