Skip to main content

الأدوات#

كل أداة تأخذ project_dir، وهو مسار مطلق لمشروع tgcloud (create_project يأخذ parent_dir وname بدلًا من ذلك).

دورة الحياة #

الأداةأمر CLIالوصف
create_projectnpm create @tgcloud/botإنشاء مشروع (parent_dir وname)
init_projecttgcloud initإنشاء الهيكل في مجلد موجود، بما فيه Mini App إن تعرّف عليه
login_bottgcloud loginربط البوت برمز CLI access‏ (app<id>:<secret>) عبر stdin، ويُخفى في المخرجات
add_moduletgcloud addوحدة جديدة: handlers/<type> أو endpoints/<name> أو lib/<path>
upgradetgcloud upgradeنقل تخطيط ما قبل 0.2.0 إلى tgcloud/. الافتراضي dry_run: true؛ التطبيق يتطلب confirm: true

المزامنة #

الأداةأمر CLIالوصف
statustgcloud statusالتغييرات المحلية مقابل اللقطة (دون شبكة)، بما فيها الملفات الثابتة وانحراف webhook
difftgcloud diffفرق سطرًا بسطر (دون شبكة)
pushtgcloud pushنشر ذرّي. لا يبني الواجهة ولا يرحّل القاعدة. force: true يتطلب confirm: true
deploynpm run build + tgcloud pushيبني إن وُجد سكربت build ثم push. skip_build: true ينشر فقط
pulltgcloud pullالسحابة ← اللقطة وملفات العمل. لا يكتب مجلد بناء Mini App
fetchtgcloud fetchالسحابة ← اللقطة فقط
resettgcloud resetإلغاء تعديلات الوحدات المحلية؛ يتطلب confirm: true

البيانات #

الأداةأمر CLIالوصف
run_handlertgcloud runتشغيل handler أو endpoint من غير نشر. args وctx بصيغة JSON5. args هو الوسيط الأول (الحمولة: Message للـ handler، والمدخل للـ endpoint)؛ وctx هو الثاني (ctx.update هو الـ Update الخام للـ handler، ويشمل update_id؛ وinitData للـ endpoint)
migratetgcloud migratedry_run: true افتراضيًا للمعاينة. التطبيق يحتاج dry_run: false وconfirm: true. apply: "safe" هو --safe، وapply: "yes" (الافتراضي عند التطبيق) هو --yes. local: true هو --local

Webhook #

الأداةأمر CLIالوصف
webhook_statustgcloud webhookالعنوان وallowed_updates والطابور وآخر خطأ، وهل هو متزامن
webhook_synctgcloud webhook syncإعادة التوجيه. drop_pending: true يتطلب confirm: true

إضافة handler أو حذفه قد تُخرج webhook عن التزامن. push لا يضمن التحديث. استدعِ webhook_sync بعد هذا النوع من النشر.

مسارات#

  • البوت صامت: webhook_status ← status / diff ← push ← webhook_sync
  • سجلات النشر: لا يوجد أمر لتنزيلها؛ اقرأ آخر خطأ تسليم في webhook_status ثم أعِد الإنتاج عبر run_handler (مخرجاته console.* محلية وليست للبوت المنشور)
  • تعارض المراجعة عند push: fetch ← diff ← push (أو force مع confirm)
  • تغيير المخطط: عدّل schema.js ← push ← migrate (dry-run) ← migrate مع confirm. إن لم يوجد حذف فاستخدم apply: "safe"
  • واجهة Mini App: deploy وليس push وحده