botxona.yaml — to'liq sxema
botxona.yaml — ixtiyoriy fayl, arxiv ildizida joylashadi (botxona.yml ham qabul qilinadi). U tizim avtomatik aniqlay olmaydigan holatlarni siz o'zingiz aniq ko'rsatishingiz uchun kerak. Fayl bo'lmasa ham bot ishlaydi — tizim avtomatik aniqlashga harakat qiladi.
Maydonlar
runtime: python # python | node — til avtomatik aniqlanmasa aniq ko'rsating
entry: main.py # ishga tushiriladigan fayl (runtime bilan birga ishlaydi)
start: python -u main.py --prod # to'liq buyruq — entry o'rniga, qo'shimcha argumentlar bilan
always_on: true # true — bot doim yoniq, false — faolsizlikda uxlaydi
| Maydon | Turi | Izoh | |
|---|---|---|---|
runtime | python \ | node | Til avtomatik aniqlanmasa (masalan ikkala til fayllari ham bor) foydali |
entry | matn | Ishga tushiriladigan fayl yo'li, masalan src/main.py | |
start | matn | To'liq ishga tushirish buyrug'i — argumentlar yoki maxsus skript kerak bo'lganda | |
always_on | true/false | Botni doim yoniq qilib qo'yish yoki, aksincha, scheduler bo'lsa ham uxlashga ruxsat berish |
Ustuvorlik tartibi
startbo'lsa — aynan shu buyruq ishlatiladi,entrye'tiborga olinmaydi.- Aks holda
entrybo'lsa — shu faylruntimega mos standart buyruq bilan ishga tushiriladi (python -u <entry>yokinode <entry>). - Ikkalasi ham bo'lmasa — tizim
main.py/bot.py/app.py(Python) yokipackage.jsondagi"start"skripti /mainmaydoni (Node.js) orqali avtomatik aniqlaydi.
always_on sozlansa, u bot sahifasidagi Sozlamalar → Ish rejimidagi "Avto" holatining boshlang'ich qiymatini belgilaydi — foydalanuvchi keyinchalik panelda buni qo'lda o'zgartirishi mumkin (Uxlash va uyg'onish).
Misollar
Oddiy Python bot, standart nomlanmagan fayl bilan:
runtime: python
entry: src/bot.py
Node.js, maxsus ishga tushirish buyrug'i bilan:
start: node --experimental-modules src/index.mjs
Har doim yoniq bo'lishi kerak bo'lgan bot (masalan to'lov eslatmalari yuboradi):
always_on: true
Keyingi qadam
Kirish nuqtasi va kutubxonalar haqida to'liq: 6 qoida. Muhit o'zgaruvchilari haqida: Muhit o'zgaruvchilari.