Skip to content

v1.2.13-ostodes

Latest

Choose a tag to compare

@github-actions github-actions released this 11 Oct 22:21

What Changed

  • exit in handlers and custom commands: Running exit inside a handler or a custom command now stops only that handler or command. The remaining lines are skipped and BotWave keeps running. Typing exit in the prompt or through the remote shell still shuts BotWave down. See Main/Automate your setup.
  • BW_REMOTE_CLIENT_IP variable: Handlers and custom commands can now tell whether they were triggered locally (empty) or by a remote shell client (the client's IP). This makes "local only" commands possible.
  • COMPONENT variable: A new COMPONENT environment variable tells scripts which part of BotWave they run on (server, local client or client).
  • New examples/ directory: A small ready-to-install set of automations:
    • update-botwave updates BotWave and restarts its service.
    • set-prompt changes the prompt, temporarily or permanently.
    • Welcome banners on startup and on remote client joins and leaves.
    • An SSH-like "Last login on" message.
      Install it with sudo bash install.sh from that directory.
  • Clearer crash screen: If a component crashes, you now get a banner asking you to open a GitHub issue, plus the error. Run with --talk to get the full trace.
  • Misc: bw-local --version now reports local client, and there are more debug logs for transaction IDs, parsed commands and target resolution. Commands that exit early no longer send a duplicate END marker on bw-local. The wiki now uses the correct ALLOW_REMOTE_BLOCKED_COMMANDS_I_KNOW_WHAT_IM_DOING name.

Behavior Change

Warning

If one of your handlers used exit to shut BotWave down (for example in an onready handler), it will now only stop that handler. Use the exit command from the prompt or systemctl stop bw-$COMPONENT / killall bw-$COMPONENT instead.

Updating to this version

To update to this version, run the following command:

bw-update --to v1.2.13-ostodes
Commit history
  • =--- v1.2.13-ostodes ---= (94916aa)
  • [wiki] *.md: sync GitHub wiki into /wiki (aaa89e0)
  • [wiki] *.md: sync GitHub wiki into /wiki (1f6f3c7)
  • Merge pull request #110 from dpipstudio/examples (6f424fd)
  • [examples] _desc.txt: added the usual desc (fd4b552)
  • [examples] scripts/update.sh: dont restart if the update fails (0aca856)
  • [examples] scripts/set-prompt.sh: avoid adding repeatedly values in .env (e0b62fe)
  • [examples] scripts/set-prompt.sh: fixed permanent argument check (a8ba712)
  • [examples] */**: added plenty of examples (af8c53b)
  • [project] .gitignore: include examples/ folder (9fef6f5)
  • [wiki] *.md: sync GitHub wiki into /wiki (d93ca1c)
  • [server] server.py: added a new "COMPONENT" env var. holds "server". (9a8653b)
  • [local] local.py: added a new "COMPONENT" env var. holds "local client". (4539985)
  • [client] client.py: added a new "COMPONENT" env var. holds "client". (bab8c4b)
  • [shared] custom_cmds.py: fixed CCMD.get_all() breaking on relative HANDLERS_DIR paths (c0a6894)
  • [meta] installation.json: include shared/utils in every install (46f376c)
  • [wiki] *.md: sync GitHub wiki into /wiki (2b48fb3)
  • [wiki] *.md: sync GitHub wiki into /wiki (2e55ee0)
  • [wiki] *.md: sync GitHub wiki into /wiki (28a2134)
  • [server] **/*.py: stop handler run on "exit" (964db33)
  • [local] **/*.py: stop handler run on "exit" (4e2f348)
  • [shared] handlers.py: switched exit detection to a contextvar so external exits also stop execution (fa5ce4b)
  • [shared] handlers.py: stopping handler execution when the handler runs "exit" (e1c815b)
  • [wiki] *.md: sync GitHub wiki into /wiki (328c036)
  • [server] ops/handlers.py: build_context now provides a BW_REMOTE_CLIENT_IP that either contains the connected remote client ip address, or nothing if directly run from the cli (eddd36f)
  • [local] ops/handlers.py: build_context now provides a BW_REMOTE_CLIENT_IP that either contains the connected remote client ip address, or nothing if directly run from the cli (885eb7b)
  • [project]: server/server.py, local/local.py, client/client.py: integrate shared/utils.py (5bc799a)
  • [shared] utils.py: new shared utils (dff4659)
  • Merge pull request #109 from dpipstudio/more-debug-logs (6b55da7)
  • [local] local.py: added more debug messages (24147d0)
  • [server] server.py: added additional debugging info (88c1224)
  • [shared] ops/devel/*.py: added development functions (7ce49ba)
  • [project] **/_desc.txt: added a _desc.txt at the root of every directory containing some sort of code. (5b37ba8)
  • [shared] registry.py: Registry.from_dir() now also loads file in subdirectories (aa14bff)
  • [meta] installation.json: update for v1.2.12-styrax (8243445)