Botxona

Xatoliklar va yechimlar (top 15)

Eng ko'p uchraydigan muammolar va ularning yechimlari — loglarni ochib sababini aniqroq bilib olishingiz mumkin.

Botim umuman javob bermayapti, nima qilishim kerak?

Eng ehtimolli sabablar tartibida tekshiring: (1) bot uxlab yotgan bo'lishi mumkin — birinchi xabar 1–3 soniya kechikishi normal (uxlash haqida); (2) token bekor qilingan (revoked) bo'lishi mumkin — BotFather'da tekshiring; (3) bot qulab tushgan (crashed) bo'lishi mumkin — bot holatini panelda ko'ring; (4) botda ilgari webhook o'rnatilgan bo'lib, Botxona esa long-polling ishlatadi — quyidagi bandga qarang.

Botimda ilgari webhook o'rnatilgan edi, endi nima bo'ladi?

Agar bot avval boshqa joyda setWebhook chaqirgan bo'lsa, Telegram xabarlarni o'sha (endi ishlamaydigan) manzilga yuborishga urinaveradi va yangilanishlar Botxonaga yetib kelmaydi. Yechim: birinchi ishga tushirishda deleteWebhook chaqiring (bir martalik, zarar qilmaydi):

await bot.delete_webhook(drop_pending_updates=False)

Botxona o'zi long-polling orqali ishlaydi — kodingiz setWebhook chaqirmasligi kerak.

"409 Conflict: terminated by other getUpdates request" nimani anglatadi?

Bu — bitta tokenga bir vaqtning o'zida ikkita joydan ulanish urinilgani (masalan bot ham kompyuteringizda, ham Botxonada ishlab turibdi). Yechim: botni boshqa joyda (kompyuter, boshqa server) to'xtating — bir tokenga faqat bitta ishlab turgan nusxa bo'lishi kerak.

"ModuleNotFoundError: No module named 'X'" degani nima?

Kodingiz X kutubxonasidan foydalanadi, lekin u requirements.txt da yo'q (yoki noto'g'ri nomda). Yechim: requirements.txt ga X==versiya qatorini qo'shing va qayta joylang (6 qoida — 3-band).

"Read-only file system" xatosi nima uchun chiqadi?

Kodingiz DATA_DIR dan tashqari joyga yozishga urinmoqda — production konteynerida bu joylar faqat o'qish uchun ochiq. Yechim: barcha yozish amallarini DATA_DIR ichiga yo'naltiring (batafsil).

Bot xotira yetmasligi (OOM) tufayli o'chib qoladi

Har bir tarifda RAM chegarasi bor (Cheklovlar). Bot chegaradan ko'p xotira ishlatsa, konteyner majburan o'chiriladi va qayta ishga tushiriladi. Yechim: katta ro'yxatlarni xotirada saqlamang (bazaga yozing), rasm/fayllarni oqim (stream) tarzida qayta ishlang, yoki yuqoriroq RAM'li tarifga o'ting.

Bot BotFather'da ishlayapti, lekin Botxonada xato beryapti

Ehtimol tokenni noto'g'ri nusxalagansiz (bo'sh joy yoki qisman nusxalanish) — Token olish sahifasidagi ko'rsatmaga qarab qayta kiriting.

Deploy paytida "Build" bosqichida qizil chiqadi

Kutubxona o'rnatilmadi yoki kodda sintaksis xatosi bor. Hisobotdagi oxirgi log qatorlarini o'qing — odatda aniq sabab ko'rsatiladi (masalan versiyasi mos kelmaydigan kutubxona).

Smoke-test bosqichida xato

Bot ishga tushgach darhol qulab tushgan yoki 401 (noto'g'ri token) olgan bo'lishi mumkin. Tokenni tekshiring, loglardagi xato qatorini o'qing.

GitHub'dan yuklashda "faqat ochiq havolalar qo'llab-quvvatlanadi" xatosi

Repozitoriyingiz private (yopiq). Uni GitHub sozlamalarida ochiq (public) qiling yoki ZIP orqali yuklang (batafsil).

ZIP yuklashda "hajm oshib ketdi" xatosi

Arxiv 20 MB dan katta yoki ochilgan hajm 100 MB dan oshadi. node_modules, venv, .git kabi keraksiz papkalarni arxivga qo'shmang (batafsil).

To'lovim tasdiqlanmayapti

Odatda bir necha daqiqa ichida tasdiqlanadi. Agar summa aniq mos kelmagan bo'lsa (noyob qo'shimcha "so'm"ni yaxlitlab yuborgan bo'lsangiz), administrator ko'chirmani qo'lda tekshiradi — biroz kuting yoki yordamga yozing.

Bot uxlab qolgani uchun birinchi xabar kechikyapti

Bu normal holat — uxlagan botning uyg'onishi 1–3 soniya oladi (batafsil). Agar bot doim tez javob berishi kerak bo'lsa, "Doim yoniq" rejimiga o'ting.

Muhit o'zgaruvchisini o'zgartirdim, lekin ta'sir qilmayapti

Panelda saqlagach bot avtomatik qayta ishga tushishi kerak — bir necha soniya kuting. Agar kodingiz o'zgaruvchini faqat dastur boshida bir marta o'qiyotgan bo'lsa (odatiy holat), qayta ishga tushirilmasdan turib o'zgarish ko'rinmaydi.

Bot boshqa foydalanuvchida ochilmayapti (mijozga topshirilgan)

Mijoz avval platforma botiga (@BotxonaBot kabi) /start bosgan bo'lishi kerak — aks holda tizim uni tanimaydi va topshirish so'rovi yetib bormaydi.

Hech biri yordam bermasa

Loglarni AI'ga ko'rsating (qanday) yoki yordam xizmatiga murojaat qiling.