Skip to content

Alias System

This content is for v1.0.0. Switch to the latest version for up-to-date documentation.

Aliases are name-to-command-string mappings that let users create shorthand shortcuts. When a user types !sbq clip1, the AliasService expands sbq to !sb --quiet and appends any trailing arguments automatically.

Aliases are merged from two sources at startup:

Source Location Priority
Plugin manifests plugin.toml [commands.<name>] aliases = [...] Default (lowest)
Database aliases table (includes runtime-created aliases via !setalias) Overrides defaults

Database entries take precedence over plugin manifest defaults with the same name. Aliases created at runtime with !setalias are persisted to the SQLite aliases table and are therefore part of the database source.

Alias values support the | character for multi-command sequences:

greet = "!echo Hello | !sb airhorn"

When a user runs !greet, both commands execute in sequence — first !echo Hello, then !sb airhorn.

Command Description Roles
!setalias <name> <command> Register a new alias. admin
!removealias <name> Remove an alias. admin
!clearaliases Clear all aliases. admin
!aliases List all registered aliases. user
!aliassearch <query> Search aliases by name or value. user
!importaliases <url> Import aliases from a CSV URL. admin