mirror of
https://github.com/kuhyx/signal-bot.git
synced 2026-11-10 19:17:02 +01:00
A custom alias is data the command table is built from, so it cannot be a live switch like the ones already on the tab. Instead the management page writes aliases_custom.json in the bot's state directory and then asks the bot to reload, in one step: whenever the answer is anything but `reloaded` -- a word another command has, a name no command has, a bot still connecting -- the file is restored byte for byte and the bot's own reason is shown next to the field. What is on disk is therefore always what the bot serves, and a typo cannot sit in the file poisoning every later reload. The registry appends the operator's words to the shipped list at registration, which keeps `!pomoc` on the shipped spelling and routes the new words through the same clash check as aliases.json. An alias for a name no command has fails the whole build (ConfigError -> `kept`), because a silently ignored entry is how a file drifts. The tagger treats custom aliases as reserved words too, so a person cannot be given one. registry.py crossed the 250-line cap and now re-exports the record and the error types from command.py; the bot's state directory lookup, previously duplicated in pack.py and the suggestions export, is state_dir.py. Proven end to end: !e2ekot is unknown, the file is written and reload.sh runs, !e2ekot posts a cat, a file naming a command that does not exist is refused with 409 and the previous table still answers. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com> |
||
|---|---|---|
| .. | ||
| check_coverage.sh | ||
| check_dependency_freshness.sh | ||
| check_file_length.sh | ||
| check_md_naming.sh | ||
| check_no_binaries.sh | ||
| check_personal_data.py | ||
| check_personal_data.sh | ||
| cold_start.sh | ||
| e2e_proofs.sh | ||
| e2e.sh | ||
| ensure_venv.sh | ||
| install_service.sh | ||
| lib_signal.sh | ||
| live_smoke.sh | ||
| personal_data_sources.py | ||
| prime_profile.sh | ||
| register_bot.sh | ||
| reload.sh | ||
| selftest.sh | ||
| signal_api_watchdog.sh | ||
| signal-api-watchdog.service | ||
| signal-api-watchdog.timer | ||
| signal-bot.service | ||
| test_watchdog_harness.sh | ||
| test_watchdog.sh | ||