Tez-tez uchraydigan xatolar va ularni hal qilish usullari.
Bot ishlamayapti
Sabab 1: Token noto'g'ri
Alomatlar:
Bot xabarlarga javob bermaydi
Konsol'da "Unauthorized" xatosi
Yechim:
BotFather'da tokenni tekshiring
Token to'g'ri kiritilganligiga ishonch hosil qiling
Sabab 2: Trigger yo'q
Alomatlar:
Oqim saqlangan, lekin bot javob bermaydi
Yechim:
Oqimda kamida bitta Trigger borligini tekshiring
Trigger'dan keyingi node'lar ulangan bo'lishi kerak
Sabab 3: Global emas trigger
Alomatlar:
Bot faqat ba'zi holatlarda ishlaydi
Yechim:
/start va /cancel trigger'larini Global qiling
Yoki foydalanuvchi holatini tekshiring
Xabar yuborilmaydi
Xato: "Chat not found"
Sabab: Foydalanuvchi botni bloklagan yoki chat mavjud emas.
Yechim:
Try/catch bilan xatolikni ushlang
Foydalanuvchini aktiv emas deb belgilang
Xato: "Message is too long"
Sabab: Xabar 4096 belgidan uzun.
Yechim:
Yoki bir nechta xabarga bo'ling
Xato: "Can't parse entities"
Sabab: HTML yoki Markdown sintaksis xatosi.
Yechim:
Maxsus belgilarni escape qiling
Inline tugmalar ishlamayapti
Xato: Tugma bosilganda hech narsa bo'lmaydi
Sabab: Callback Query Trigger yo'q.
Yechim:
Callback Query Trigger qo'shing
Callback data'ni to'g'ri belgilang
Xato: Loading aylanib turadi
Sabab: Callback Answer qo'shilmagan.
Yechim:
Har bir Callback Query'dan keyin Callback Answer qo'shing
HTTP Request xatolari
Xato: "Connection timeout"
Sabab: Server javob bermaydi.
Yechim:
Xato: "Invalid JSON"
Sabab: Javob JSON formatda emas.
Yechim:
Content-Type headerini tekshiring
Xato: "401 Unauthorized"
Sabab: API kaliti noto'g'ri.
Yechim:
Authorization headerini to'g'ri formatlang
Custom Code xatolari
Xato: "Timeout exceeded"
Sabab: Kod 30 soniyadan ko'p ishladi.
Yechim:
Kodni optimizatsiya qiling
Katta ma'lumotlarni bo'lib ishlang
Cheksiz tsikllarni oldini oling
Xato: "Module not found"
Sabab: Kutubxona mavjud emas.
Yechim:
Faqat mavjud kutubxonalarni ishlating
Mavjud: requests, json, datetime, re, random, math
Xato: "NameError"
Sabab: O'zgaruvchi aniqlanmagan.
Yechim:
O'zgaruvchi nomini tekshiring
get_var() bilan olish kerak
Xato: Foydalanuvchi noto'g'ri State'da
Sabab: State yangilanmagan.
Yechim:
Har bir oqim oxirida State node qo'shing
Global trigger'lardan keyin State'ni tekshiring
Xato: State ma'lumotlari yo'qoldi
Sabab: State qayta yozilgan.
Yechim:
State Data'da kerakli ma'lumotlarni saqlang
State'ni to'liq qayta yozmasdan yangilang
Kolleksiya xatolari
Xato: "Collection not found"
Sabab: Kolleksiya nomi noto'g'ri.
Yechim:
Kolleksiya nomini tekshiring
Kolleksiya mavjudligini tekshiring
Xato: Element topilmadi
Sabab: Filter noto'g'ri.
Yechim:
Filter shartini tekshiring
Element ID'sini tekshiring
Umumiy maslahatlar
Console'ni tekshiring — brauzer konsolida xatoliklarni ko'ring
Log yozing — Custom Code'da log() funksiyasi
Qadam-baqadam test — har bir node'ni alohida sinang
Xatolik handle'larini qo'shing — Else, Error yo'llari
Ma'lumotlarni tekshiring — kiritishdan oldin validate
Qo'llab-quvvatlash bilan bog'laning