Andijon viloyati bo'yicha murojaatlarni qabul qilish, ko'rib chiqish va nazorat qilish uchun Telegram bot.
- Bitta panel xabar orqali forma (har qadamda xabar
editqilinadi) - Inline tugmalar + matn/fayl kiritish bosqichlari
- Murojaatlarni
SQLitebazaga saqlash (data/appeals.db) - Review guruhiga yuborish va adminlar uchun panel
- Foydalanuvchi murojaatlari: status ko'rish (
/status) va ro'yxat (/my_requests) - Admin statistikasi:
XLSXeksport (/stat)
- Python 3.10+ (tavsiya: 3.11+)
aiogram3.x
.env.exampledan.envyarating:
Copy-Item .env.example .env.envichida quyidagilarni to'ldiring:
BOT_TOKEN=PASTE_YOUR_TELEGRAM_BOT_TOKEN_HERE
ADMIN_IDS=123456789,987654321
REVIEW_GROUP_ID=-1001234567890
DATABASE_PATH=data/appeals.dbEslatma:
ADMIN_IDS- admin Telegram IDlari (vergul/bo'sh joy bilan ajratiladi).REVIEW_GROUP_ID- review superguruh/chat IDsi (ko'pincha-100...ko'rinishida).- Moslik uchun
ADMIN_CHAT_ID(bitta admin ID) ham qabul qilinadi.
python -m venv .venv
.venv\Scripts\Activate.ps1
pip install -r requirements.txt
python bot.pypython3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
python bot.pyFoydalanuvchi:
/start- boshlash/cancel- jarayonni bekor qilish/my_requests- oxirgi murojaatlar ro'yxati/status ID- murojaat holatini ko'rish (masalan:/status 12)
Admin:
/panel- ochiq murojaatlar paneli (filterlar: ochiq, admin bo'yicha, tuman bo'yicha)/stat- admin statistikasi (XLSX)
Review guruhida admin ishni qabul qilgach odatda quyidagi tugmalar ishlaydi:
YakunladimIshni boshqasiga topshirishMurojaatda xatolik bor
bot.py- bot logikasi (handlerlar, panel, statuslar)app/config.py- konfiguratsiya (.envorqali)app/storage.py- SQLite saqlash va statistikalarapp/keyboards.py- inline klaviaturalarapp/states.py- FSM state'lar
- Token va IDlarni hech qachon kodga yozmang; faqat
.envdan foydalaning. .envGitHub'ga yuklanmasin (.gitignoreichida).