Alias System
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.
Alias Sources
Section titled “Alias Sources”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.
Pipe Chains
Section titled “Pipe Chains”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.
Management Commands
Section titled “Management Commands”| 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 |