MILAGPT
«Biznes uchun»dan boshlang: ishga tushirishgacha uch qadam.
Tahlilga yozilishTelegram ochiladi
RU·EN·UZ
Hujjatlar · Qaror kartochkalari

Qaroringiz kerak boʻlsa — uzun xat emas, tugmali kartochka keladi

Savol, ikki-uch variant va har biridan keyin nima boʻlishi, uning ★ belgili tavsiyasi. Bosdingiz — u bajaradi. Bosmadingiz — hech narsa ketmaydi. Quyidagi har bir qatorda kodga havola bor.

Kartochkalarni cards koʻnikmasi yozadi, tugmalarning oʻzi esa ochiq Telegram plagini shakhruz/mila-telegram ichida.

Kartochka

Kartochkada nima bor

Formatni kayfiyat emas, skript ushlab turadi: cards.py kartochkani yozishdan oldin tekshiradi, yomonini oʻtkazmaydi va sababini aytadi. Shunda u kartochkani aylanib oʻtmaydi, qayta yozadi. skills/cards:19

01 · SAVOL

Bitta qaror, savol shaklida

Birinchi qatorda qarorning oʻzi turadi, oʻn ikki soʻzgacha. Uning ostida bir-ikki qator: nega aynan hozir. Ikki qaror — ikki kartochka.

cards.py:161-168skills/plain-words:22-30
02 · VARIANTLAR

Ikki-uch variant

Har bir variantda undan keyin nima boʻlishi yozilgan. Ikkitadan kam yoki uchtadan koʻp boʻlsa, skript kartochkani yozmaydi.

cards.py:169-174
03 · TAVSIYA

Uning tanlovi ★ bilan belgilangan

Tavsiya — ★ belgili yashil tugma va «Maslahatim: A» qatori. Variantlar roʻyxatida yoʻq tavsiyani skript qabul qilmaydi.

cards.py:135-145
04 · MUDDAT

Muddat, agar boʻlsa

«Qachongacha kerak» — sizning vaqt mintaqangizdagi sana va soat. 🔴 Shoshilinch — faqat ertaga kech boʻladigan boʻlsa.

cards.py:137-138skills/cards:16-18
Tugmalar

Bosing — yoki shunchaki ayting

Siz bosgan tugma unga yozuvi bilan «[tugma] …» boʻlib qaytadi, skript esa uni u koʻrsatgan kartochka bilan solishtiradi. Tugma oʻrniga ovozli xabar yoki matn yuborsangiz ham, bu javob boʻladi.

receiver.ts:1387-1391 · skills/cards:27-32

Savol-kartochka ostida
  • Variantlar birinchi qatorda turadi; uning tanlovi yashil, ★ bilan. cards.py:141-147
  • 💬 Tushuntir — batafsilroq tushuntiradi va oʻsha kartochkani yana koʻrsatadi. cards.py:253-254
  • ⏸ Ertagacha — kartochka ertasi kuni ertalab qaytadi. cards.py:228-230
  • 🤷 Oʻzing hal qil — qarorni u oʻzi qiladi, lekin bu tugma pul sarflash huquqini bermaydi. skills/cards:35
  • Jamoaga vazifalar — oʻz tugmalar qatori bor: ✅, ✏️ Oʻzgartirish, Yoʻq, ➡️ Boshqa Milaga. cards.py:156-157
  • Oltitagacha tugma, bir qatorda uchtadan. Havola-tugma shunchaki sahifani ochadi. receiver.ts:776-787
Bir marta

Kartochka bir marta ishlaydi

  • Belgi yetkazishdan oldin qoʻyiladi. Plagin avval oʻz fayliga «ishlatildi» deb yozadi, bosishni unga shundan keyingina uzatadi. Shuning uchun ikki tez bosish ikki qaror boʻlib chiqmaydi. receiver.ts:1378-1384
  • Tugmalar oʻchadi. Bosishdan keyin ular oʻchiriladi, tanlangani esa ✅ oladi — chat tarixida nima tanlangani koʻrinib turadi. Ikkinchi bosishga «Already handled.» deb javob keladi. receiver.ts:1331-1345 receiver.ts:1374-1377
  • Faqat kimga yuborilgan boʻlsa, oʻshanga. Shaxsiy chatdagi kartochkani faqat siz bosa olasiz. Begonaga qisqa rad javobi boradi, iz alohida faylga yoziladi, Milaga esa hech narsa yetmaydi. receiver.ts:788-798 receiver.ts:1363-1372
  • Javob ustidan yozilmaydi. Yopilgan kartochkaga ikkinchi javobni kartochkalar roʻyxati qabul qilmaydi, buni test tekshiradi. cards.py:233-237 test_cards.py:62-63
Oʻz-oʻzidan hech narsa

Bosmaguningizcha hech narsa ketmaydi

01 · MATN

Faqat aynan shu matn ostidagi tugmani bosganingizdan keyin ketadi

Sizning nomingizdan hech narsa oʻz-oʻzidan ketmaydi. Kechagi bosish bugungi matnga oʻtmaydi: yangi matn — yangi bosish. Bu uning konstitutsiyasidagi 3-qonun.

CONSTITUTION.md:17
02 · OMMAVIY XABARLAR

Ommaviy xabar kimga va nima ketishini koʻrsatadi

«Ommaviy xabar: N kishi», matn toʻliq va ikki tugma — ✅ N kishiga yuborish va Bekor qilish. ✅ boʻlmasa, u yuborishga tayyorlanmaydi ham, qayta yuborish esa faqat yangi ✅ bilan.

MILAGPT joylashtirgan Milalarda ishlaydi: yuborish xizmati serverda turadi.

skills/bot-send:14-20skills/bot-send:32
03 · VOSITALAR

Avval qoidalar, kartochka — kerak boʻlganda

Odatiy amallar qoida boʻyicha oʻtadi va jurnalga yoziladi; taqiqlanganlari sizni bezovta qilmay rad etiladi; qolgani muddatli kartochka boʻlib keladi. Muddatgacha bosmasangiz — demak, yoʻq, va u qilmaganini ochiq aytadi.

install/permission_policy.ts:8-15receiver.ts:618-633
04 · HIMOYA

Buzilgan qoidalar fayli eshikni ochmaydi, soʻraydi

Qoidalar fayli oʻqilmasa, har bir amal kartochka orqali oʻtadi. Aylanib qolgan jarayon soʻrovlarni sel qilib yuborsa, kartochkalar toʻxtaydi, soʻrovlar esa rad etiladi.

install/permission_policy.ts:114-117receiver.ts:600-611
Jurnal

Nima yoziladi va qayerga

Faqat bugun kodda bori. Har bir band — fayl, har bir hodisaga bitta qator.

Kartochkalar, bosishlar va qarorlar yoziladigan fayllar
FaylNima yoziladi
inbox.jsonlUning sizga bergan savollari. Har bir oʻzgarish yangi qatorga yoziladi, eski qatorlar tahrirlanmaydi; kartochkaning hozirgi holati — oxirgi qatori. cards.py:5-6 cards.py:66-71 cards.py:74-88
inbox.jsonl · javobQaysi variant, kim javob berdi (siz yoki Mila), qanday (chat, ovoz, mini-ilova) va qachon. cards.py:244-246
proposals.jsonlJamoaga vazifa kartochkalari, xuddi shunday: qabul qilindi, rad etildi, oʻzgartirildi, boshqa Milaga berildi. cards.py:5-6
cards.jsonlPlagindagi tugmali kartochkalar roʻyxati: chat, kim bosa oladi, matn, tugmalar; keyin «ishlatildi» qatori — kim va qachon bosgani. Faylni faqat jarayon egasi oʻqiy oladi. receiver.ts:1285-1292 receiver.ts:818
permission-log.jsonlVositalar boʻyicha har bir qaror: qoida oʻtkazdi yoki rad etdi, kartochka boʻlib yuborildi, muddat oʻtgani yoki sel tufayli rad etildi. Fayl huquqlarini mila doctor tekshiradi. install/permission_policy.ts:143-164 receiver.ts:586-590 install/doctor.py:248-256
auth-log.jsonlGuruhni ulash haqidagi har bir qaror, rad etilganlari ham. mila-telegram · README:15
suspicious.jsonlKartochka yuborilmagan odamlarning bosishlari. receiver.ts:1309-1313
tasks/sent.jsonlHar bir chiquvchi xabar, uni hook yozadi. skills/mila-tasks:28
Ochigʻini aytsak

Bu sahifa nimani vaʼda qilmaydi

Repozitoriyda

Har bir qatorni oʻqib chiqsa boʻladi

mila va mila-telegram repozitoriylaridagi qaror kartochkalari fayllari
FaylNima qiladi
skills/cardskartochka qanday yoziladi va unga qanday javob beriladi
cards.pykartochkalarni tekshiradi, yozadi va koʻrsatadi; bosishni qabul qiladi
test_cards.pytestlar, jumladan «ikkinchi javob yoʻq»
skills/plain-wordskartochka va tugmalar uchun tushunarli til qoidalari
skills/bot-send✅ dan keyin ommaga ochiq botingizdan ommaviy xabarlar
install/permission_policy.tsvositalar uchun qoidalar: allow, deny, ask
permissions.example.jsonboshlangʻich qoidalar, har birining sababi bor
CONSTITUTION.md3-qonun: sizning nomingizdan hech narsa oʻz-oʻzidan ketmaydi
mila-telegram · receiver.tstugmalar: roʻyxatga olish, tekshirish, oʻchirish, yetkazish
Ochiq kod · Apache-2.0

Fork qiling, oʻrgating, PR yuboring

Ikkala repozitoriy ham ochiq: koʻnikmalar, hooklar, vositalar va shablonlar toʻplami hamda Telegram plagini. Har bir pull requestni odam va Mila Sifat oʻqib chiqadi.

Sahifadagi faktlar manbai: github.com/shakhruz/mila (main, v1.5.2) va github.com/shakhruz/mila-telegram (main), 23.10.2026 da tekshirilgan. «Mila», «MILAGPT» va logotip — MILAGPT tovar belgilari.