fix(07-06): root-cause the /cari menu defect — register-commands.mjs sent the wrong Bot API field name
- the Bot API parameter is 'scope' (verified against core.telegram.org/bots/api/methods/setmycommands); the script's 'bot_command_scope' was an unknown field Telegram silently ignores, so every call hit the default scope and the two clear calls wiped the default set entirely — the ok:true lines proved nothing about scope - registration re-run: default (agnostic/en/ms) + all_private_chats (agnostic/ms) read back help, privacy, cari via getMyCommands with the correct 'scope' param; group scopes verified cleared - docs/KNOWN-LIMITATIONS.md: the 'Telegram-side defect' attribution corrected to the actual script bug; residual client menu-caching caveat + type-the-command workaround kept - bot/README.md command row updated to the real scope set
This commit is contained in:
+1
-1
@@ -162,7 +162,7 @@ Run from the repo root (`npm run bot:<script>`) or inside `bot/`.
|
||||
| `npm run typecheck` | `tsc --noEmit` against `src/` with Workers types. |
|
||||
| `npm run dev` | `wrangler dev --port 8787 --local`. |
|
||||
| `npm run deploy` | `wrangler deploy` followed by `scripts/set-webhook.mjs`. |
|
||||
| `npm run commands` | `scripts/register-commands.mjs` — one-time `setMyCommands` in the default scope, plus a `language_code: "ms"` variant of that same default scope (both calls send `bot_command_scope: { type: "default" }`). |
|
||||
| `npm run commands` | `scripts/register-commands.mjs` — one-time `setMyCommands` arming every scope a stale set could shadow: default (en) · default+ms · all_private_chats (en) · all_private_chats+ms, plus clearing the group scopes (all calls send `scope: { type: … }` — the Bot API field name; a previous wrong name, `bot_command_scope`, was silently ignored by Telegram and caused the /cari-menu incident, fixed 2026-10-25). |
|
||||
|
||||
`scripts/set-menu-button.mjs` is run directly (`node scripts/set-menu-button.mjs`) rather than through a package script; it points the bot's menu button at a `web_app` URL derived from `WEBHOOK_URL`'s origin.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user