Botxona

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
MaydonTuriIzoh
runtimepython \nodeTil avtomatik aniqlanmasa (masalan ikkala til fayllari ham bor) foydali
entrymatnIshga tushiriladigan fayl yo'li, masalan src/main.py
startmatnTo'liq ishga tushirish buyrug'i — argumentlar yoki maxsus skript kerak bo'lganda
always_ontrue/falseBotni doim yoniq qilib qo'yish yoki, aksincha, scheduler bo'lsa ham uxlashga ruxsat berish

Ustuvorlik tartibi

  1. start bo'lsa — aynan shu buyruq ishlatiladi, entry e'tiborga olinmaydi.
  2. Aks holda entry bo'lsa — shu fayl runtimega mos standart buyruq bilan ishga tushiriladi (python -u <entry> yoki node <entry>).
  3. Ikkalasi ham bo'lmasa — tizim main.py/bot.py/app.py (Python) yoki package.json dagi "start" skripti / main maydoni (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.