access.md
December 15, 2025 ยท View on GitHub
๐ Access
This bot employs access control to decide who can use its services and manage its configuration.
๐ Joining rooms
The bot automatically joins rooms only when invited by someone considered a bot ๐ฅ user.
๐ฅ Users
The bot can be used by users that match some dynamically configured Matrix user id patterns.
Users:
- โ can invite the bot to rooms
- โ can use all the bot's features (๐ฌ Text Generation, ๐ฆป Speech-to-Text, etc.) by sending room messages
- โ can mention the bot in threads and reply chains to provoke it to respond to non-user messages (see ๐ Features / ๐ฌ Text Generation / On-demand involvement)
- โ
can change the bot's configuration in a room (e.g.
!bai config room ...commands) - โ cannot change the bot's global configuration (e.g.
!bai config global ...commands) - โ cannot create new ๐ค Agents (neither in rooms, nor globally). See ๐ผ Room-local agent managers for controlling which users can create agents.
The following commands are available:
- Show the currently allowed users:
!bai access users - Set the list of allowed users:
!bai access set-users SPACE_SEPARATED_PATTERNS
Example patterns: @*:example.com @*:another.com @someone:company.org
๐ฎโโ๏ธ Administrators
Administrators can manage the bot's configuration and access control.
Administrators are ๐ฅ Users and ๐ผ Room-local agent managers implicitly, so they inherit all their permissions.
The bot can be administrated by users that match some statically configured Matrix user id patterns.
Administrators cannot be changed without adjusting the bot's configuration on the server.
๐ผ Room-local agent managers
Room-local agent managers are users privileged to create their own agents (see !bai agent) in rooms.
Warning
Letting regular users create agents which contact arbitrary network services may be a security issue.
The following commands are available:
- Show the currently allowed users:
!bai access room-local-agent-managers - Set the list of allowed users:
!bai access set-room-local-agent-managers SPACE_SEPARATED_PATTERNS
Example patterns: @*:example.com @*:another.com @someone:company.org