Tadbirkor arxitektura haqida nega o‘ylashi kerak
Pudratchi bilan suhbat odatda «qancha turadi va qachon tayyor bo‘ladi» degan savoldan boshlanadi. Lekin menyusi bir xil ikkita bot qo‘llab-quvvatlashda tubdan farq qilishi mumkin. Biri buyurtmalarni dastur xotirasida saqlaydi va qayta ishga tushganda yo‘qotadi, ikkinchisi hammasini bazaga yozadi va yangilanishdan ham zarar ko‘rmaydi. Mijoz farqni ko‘rmaydi — o‘z buyurtmasi yo‘qolmaguncha.
Shuning uchun arxitekturani birinchi kod yozilmasdan oldin muhokama qilgan ma’qul. Maqsad texnik tafsilotlarga sho‘ng‘ish emas, nimani sotib olayotganingizni tushunish: g‘oyani tekshirish uchun tezkor prototipmi yoki yillar davomida rivojlantiriladigan poydevormi.
Bot qanday qatlamlardan iborat
Yuqoridan pastga qarasak, bir nechta qatlam chiqadi va har birining o‘z vazifasi bor.
Qatlamlar o‘rtasidagi chegara qanchalik aniq bo‘lsa, birini o‘zgartirganda qolganlari buzilmaydi. Masalan, menyu va matnlarga tegmasdan CRM'ni almashtirish mumkin.
- Telegram Bot API: xabar va tugma bosishlarini qabul qilib, serveringizga yangilanish sifatida uzatadi.
- Yangilanishlarni qabul qilish: kelgan ma’lumotni kerakli ishlovchiga yo‘naltiradigan kod.
- Dialog stsenariylari: nima deb javob berish va keyingi qadam qaysi ekani.
- Biznes-mantiq: yetkazib berish narxi, qoldiqni tekshirish, chegirma qoidalari.
- Ma’lumotlar bazasi: mijozlar, buyurtmalar, dialog holatlari, sozlamalar.
- Integratsiyalar: CRM, Google Sheets, ombor, to‘lov xizmatlari.
- Admin panel va bildirishnomalar: kontentni boshqarish va menejerlarga xabar yuborish.
Webhook yoki long polling
Telegram yangilanishlarni ikki yo‘l bilan beradi. Long polling'da bot Telegram'dan yangilik bor-yo‘qligini o‘zi muntazam so‘rab turadi. Ishga tushirish oson, shuning uchun sinov va kichik loyihalar uchun mos.
Webhook'da Telegram har bir yangilanishni sizning server manziliga o‘zi yuboradi. Buning uchun HTTPS'li domen kerak, lekin ortiqcha so‘rovlar bo‘lmaydi va kengaytirish osonroq. Haqiqiy mijozlar oqimi bor bot uchun ko‘pincha webhook tanlanadi. Ikkala usulni bir vaqtda ishlatib bo‘lmaydi, shuning uchun qaror oldindan qabul qilinadi. Webhook manzilini maxfiy token bilan himoyalash ham foydali: server faqat Telegram'dan kelgan so‘rovlarni qabul qiladi.
Dialog stsenariylari va holatlar
Bot — buyruqlar to‘plami emas, odam qaysi qadamda turganini eslab qoladigan dialog. Mijoz mahsulot tanlaydi, manzil kiritadi, lokatsiya yuboradi, to‘lov usulini belgilaydi. Buning uchun chekli avtomat qo‘llanadi: har bir qadamga alohida holat to‘g‘ri keladi, o‘tishlar esa aniq yozilgan bo‘ladi.
Holatni jarayon xotirasida emas, bazada yoki tezkor xotirada saqlash kerak. Aks holda server qayta ishga tushgach, buyurtma berayotgan odam yana menyu boshiga tushib qoladi. Tillar masalasi ham bor. O‘zbekistonda mijoz o‘zbek va rus tillari orasidan tanlashni kutadi, shuning uchun matnlarni kodga qotirmasdan alohida lug‘atlarda saqlang. Shunda iborani tuzatish uchun dasturchi shart bo‘lmaydi.
Ma’lumotlar, integratsiya va Click, Payme to‘lovi
Ma’lumotlar bazasi — botning xotirasi. Mijoz va buyurtmalar uchun odatda relyatsion baza olinadi: bog‘lanishlar tushunarli, hisobotlar tuzish oson.
Integratsiyalarni xato bo‘lganda so‘rovni takrorlay oladigan alohida qatlamda yig‘ish yaxshi. CRM bir daqiqa ishlamay qolishi mumkin, buning uchun ariza yo‘qolmasligi kerak. Uzoq vazifalar — xabarnoma tarqatish, eksport, eslatmalar — uchun navbat ulanadi, shunda bot mijozga javob berishda qotib qolmaydi.
Click yoki Payme orqali to‘lov alohida kontur hisoblanadi. Bot hisob yaratadi, to‘lov tizimi natijani xabar qiladi va faqat shundan keyin buyurtma «to‘langan» holatini oladi. Faqat mijozning o‘zidan kelgan holatga ishonmang. Ulanishning aniq sxemasi tanlangan xizmat va uning hujjatlariga bog‘liq.
Admin panel, analitika va xavfsizlik
Bular haqida boshida kamdan-kam gaplashiladi, keyin esa afsuslanishadi. Minimal to‘plam quyidagicha:
Manba yorlig‘i bo‘lmasa, bot ariza olganini ko‘rasiz, lekin qaysi reklama keltirganini bilmaysiz. Bot «qora quti»ga, targetga ketgan byudjet esa taxminga aylanadi.
- Bot tokeni kodda yoki yozishmada emas, muhit o‘zgaruvchilarida saqlanadi.
- Huquqlar ajratilgan: menejer buyurtmalarni ko‘radi, lekin sozlamalarni o‘zgartirmaydi.
- Xatolar bir joyga yig‘iladi va nosozlikni mijozdan oldin bilib olasiz.
- Har bir kirish manbani yozadi: Instagram, target, qadoqdagi QR — bu end-to-end analitikaning asosi.
Pudratchi bilan nimani muhokama qilish kerak
Bir necha oddiy savol bering. Bot qayerda ishlaydi, server va kod kimga tegishli? Dialog holatlari qanday saqlanadi? CRM javob bermasa nima bo‘ladi? Yangi bo‘lim qo‘shish qanchalik qiyin? Hisobotlarda qanday ma’lumotlar bo‘ladi? Javoblar jamoa biznesingizni bir yildan keyin ham o‘ylayotganini yoki faqat loyihani topshirishni o‘ylayotganini ko‘rsatadi.
markdev O‘zbekistonda biznes uchun Telegram-bot yaratadi va aynan shu savollardan boshlaydi. Vazifangizni muhokama qilmoqchi bo‘lsangiz, ariza qoldiring — stsenariyni birga ko‘rib chiqib, mos sxemani taklif qilamiz.
Ko‘p beriladigan savollar
Telegram bot arxitekturasi nima?
Bu bot qaysi qismlardan iboratligi va ular o‘zaro qanday bog‘langani: xabarlarni qabul qilish, dialog stsenariylari, baza, CRM va to‘lov integratsiyalari, admin panel. U botning ishonchliligi va keyingi rivojlanish narxini belgilaydi.
Webhook va long polling'dan qaysi biri yaxshi?
Long polling'ni ishga tushirish oson, sinov uchun qulay. Doimiy mijozlar oqimi bor ishchi bot uchun odatda webhook tanlanadi: u HTTPS'li domen talab qiladi, lekin tejamkor va kengaytirishga qulay.
Dialog holatini qayerda saqlash kerak?
Bazada yoki tezkor xotirada, jarayon xotirasida emas. Shunda server qayta ishga tushsa ham mijoz menyu boshiga qaytmaydi va tugallanmagan buyurtma yo‘qolmaydi.
Botga Click va Payme'ni ulash mumkinmi?
Ha, to‘lov xizmatlari odatda ularning API orqali ulanadi. Bot hisob yaratadi, buyurtma holati esa to‘lov tizimi tasdiqlagandan keyingina o‘zgaradi. Tafsilotlar tanlangan xizmatga bog‘liq.
Vazifangizni bepul tahlil qilamiz
Kontaktingizni qoldiring — 15 daqiqalik qo‘ng‘iroqda arizalar qayerda yo‘qolayotganini va birinchi navbatda nima qilish kerakligini ko‘rsatamiz.