Skip to content

Access levels

Teuk edited this page Oct 6, 2026 · 2 revisions

Access levels

Mediabot combines two authorization systems:

  1. a global role attached to the bot account;
  2. a numeric level per channel attached through USER_CHANNEL.

Authentication, hostmask recognition and command-specific policy still apply. IRC operator mode by itself is not a Mediabot login.

Global roles

The hierarchy is cumulative: a stronger role satisfies checks for weaker roles.

Database value Role Scope
3 User Authenticated account; public and account-scoped features.
2 Administrator User/channel administration and operational commands.
1 Master High-impact maintenance and moderation.
0 Owner Highest privilege, including role/security-sensitive settings.

Lower database numbers mean stronger global privilege. This numeric scale is unrelated to per-channel levels below.

Useful checks:

!whoami
!auth Alice
!access #channel YourHandle
!showcommands #channel
!help level admin

Per-channel levels

Per-channel levels increase with privilege.

Minimum Capabilities exposed by the current command map
0 Public channel commands, subject to chansets and feature policy.
1 Limited self/profile fields such as a channel greeting where supported.
25 !voice, !devoice.
50 !kick, PM topic.
75 !ban, !kickban, !kb, !unban, !bans.
100 !op, !deop, !invite.
400 Channel access administration: !add, !del, privileged !modinfo; RSS changes also require 400+ or global Administrator.
450 !join, !chanset.
500 Channel owner; includes !part and the full lower-level channel set.

A global Administrator is accepted as an emergency/administrative bypass by many channel commands, but not every specialized command. The command handler remains authoritative.

First Owner

Register the first Owner only in a private message to the bot:

/msg BotNick register OwnerName StrongPassword

The registration path creates the Owner and associates level 500 with the configured console channel.

Subsequent login:

/msg BotNick login OwnerName StrongPassword

Never paste credentials in a public channel or command transcript.

Managing channel access

An authenticated global Administrator or a channel user at level 400+ can manage lower channel access, subject to anti-escalation rules:

!add #channel Alice 100
!del #channel Alice
!access #channel YourHandle

Do not grant a level equal to or above your own channel level. Use level 500 only for the intended channel owner.

Command labels

The built-in help uses these practical labels:

Label Meaning
public Callable without a privileged global role; a chanset, login or subcommand may still add a gate.
private Use in a private conversation with the bot, especially for credentials.
operator+ Requires the matching per-channel moderation level or a permitted global bypass.
channel admin Requires a high channel level, normally 400/450+, or global Administrator.
authorized Authenticated maintainer of database-backed dynamic commands; exact ownership/global-role rules vary by operation.
admin, master, owner Requires the named global role or stronger.

See Complete command reference for the complete catalog and Private and admin commands for safe workflows.

Full parameter reference

Command notation and routes · All 249 names · Known parser/help discrepancies. The family pages cover every supported subcommand, option order, default, range and registered transport.

Clone this wiki locally