Skip to content

Auto Updater Commands

The auto_updater plugin checks PyPI for newer versions of installed dependencies and optionally updates them. It is useful for keeping the bot’s Python dependencies current without manual intervention.

Command Description Roles Aliases
checkforupdates <dependency> Check PyPI for a newer version admin
updatedependency <dependency> Update a dependency if a newer version exists admin
  • Dependency names: The <dependency> argument is the PyPI package name (e.g., pymumble, yt-dlp), not the import name.
  • Check vs. update: checkforupdates only reports whether a newer version is available. updatedependency performs the actual upgrade.
  • Lockfile-first workflow: When uv is available, updatedependency updates uv.lock first (uv lock --upgrade-package <pkg>) and then syncs the venv (uv sync --frozen --no-dev). This ensures the upgrade persists across bot restarts. The operator should restart the bot after a successful update for a clean cutover.
  • Containerized environments: updatedependency refuses to run inside containers (detected via /.dockerenv or the MUMIMO_CONTAINERIZED env var) and shows a GUI warning, since in-place container changes are lost on rebuild. Update the lockfile on the host and rebuild the image instead.
  • Pip fallback: If uv is not installed, updatedependency falls back to pip install --upgrade (hot-patching the live venv). A warning is shown that uv.lock was not updated and the change will not persist across restarts.
  • Roles: Both commands require the admin role.