Skip to main content

Outils#

Chaque outil reçoit project_dir, un chemin absolu vers un projet tgcloud (create_project reçoit parent_dir et name à la place).

Cycle de vie #

OutilCLIDescription
create_projectnpm create @tgcloud/botNouveau projet (parent_dir, name)
init_projecttgcloud initÉchafaudage dans un dossier existant, y compris une Mini App reconnue
login_bottgcloud loginLie le bot avec le jeton d’accès CLI (app<id>:<secret>) ; jeton via stdin, masqué
add_moduletgcloud addNouveau module : handlers/<type>, endpoints/<name>, lib/<path>
upgradetgcloud upgradeDéplace une disposition d’avant 0.2.0 dans tgcloud/. dry_run: true par défaut ; appliquer exige confirm: true

Synchronisation #

OutilCLIDescription
statustgcloud statusÉcarts locaux par rapport à l’instantané (hors ligne), y compris les fichiers statiques et le webhook
difftgcloud diffDiff ligne à ligne (hors ligne)
pushtgcloud pushDéploiement atomique. Ne construit pas le front et ne migre pas. force: true exige confirm: true
deploynpm run build + tgcloud pushConstruit si package.json a un script build, puis push. skip_build: true ne fait que push
pulltgcloud pullNuage → instantané et fichiers de travail. N’écrit pas le dossier de build de la Mini App
fetchtgcloud fetchNuage → instantané seulement
resettgcloud resetAbandonne les modifications locales des modules ; exige confirm: true

Données #

OutilCLIDescription
run_handlertgcloud runExécute un handler ou un endpoint sans déployer. args et ctx sont du JSON5. args est le premier argument (la charge utile : un Message pour un handler, l’entrée pour un endpoint) ; ctx le second (ctx.update est l’Update brut pour un handler, avec update_id ; initData pour un endpoint)
migratetgcloud migratedry_run: true (défaut) ne fait qu’un aperçu. Appliquer exige dry_run: false et confirm: true. apply: "safe" vaut --safe ; apply: "yes" (défaut à l’application) vaut --yes. local: true vaut --local

Webhook #

OutilCLIDescription
webhook_statustgcloud webhookURL, allowed_updates, file d’attente, dernière erreur, synchronisé ou non
webhook_synctgcloud webhook syncRéoriente le webhook. drop_pending: true exige confirm: true

Ajouter ou retirer un handler peut désynchroniser le webhook. push ne garantit pas le rafraîchissement. Appelez webhook_sync après ce genre de déploiement.

Parcours#

  • Bot silencieux : webhook_status → status / diff → push → webhook_sync
  • Logs déployés : aucune commande ne les télécharge ; lisez la dernière erreur de livraison dans webhook_status, puis reproduisez avec run_handler (sa sortie console.* est locale, pas celle du bot déployé)
  • Conflit de révision au push : fetch → diff → push (ou force avec confirm)
  • Schéma : modifier schema.js → push → migrate (dry-run) → migrate avec confirm. Sans suppression, apply: "safe"
  • Front de Mini App : deploy, pas un simple push