Skip to content

Command audit notes

Teuk edited this page Oct 6, 2026 · 1 revision

Command documentation discrepancies

Reviewed snapshot: 3.6dev-20261006_084503, 6 October 2026. This is a documentation-only update; findings below do not imply a runtime correction. The parameter reference follows the registered dispatcher and handler rather than copying abbreviated help as a promise.

Corrected documentation

Legacy help/wiki wording Actual parser or permission
243 built-in entries 249 names/aliases, 242 channel registrations, 97 PM registrations; overlap is intentional.
!auth / !access #channel as self checks auth <nick> is privileged WHOIS; access [#channel] <handle|=nick> requires a target; use whoami for yourself.
modinfo as a user-info read Mutator: channel automode, greeting or level.
birthdate [nick] Bot birthdate read, no target.
addchan #channel Requires existing handle too.
antifloodset setting value Read or all three numbers: max messages, period seconds, wait seconds.
Public !topic Built-in topic is PM-only.
Hailo chatter on/off Numeric 0–100 ratio; enable with chanset.
addcmd category command action, short modcmd Both use command, message/action, category, full text.
owncmd [handle], lastcmd [limit], popcmd Owner/count list with no argument; ten newest commands with no argument; popular commands requires handle.
RSS without quiet-channel controls Full targeting, limit/latest commands, rolling caps and fair rotation are documented. RSS is channel-registered only.
q nickname/random shortcut Bare q is help; q r, q s <words>, q a <text> are explicit branches.
poll [seconds] weighted ... Weighted must precede optional seconds; creation is Master+.
trivia ... startN suffix Leading trivia start N; normal category and difficulty form is separate.
Public/admin labels for maintenance reads Handler gates win: chanlist/users/status/radiostatus/radiomounts Master+, timers/nick/debug/raw dump/addtimer/remtimer/exec Owner.
.top [n], .remind nick #channel message .top #channel|all [n]; .remind nick message chooses first sorted joined channel.
.cmdcooldown command seconds, .flushcooldown command Cooldown requires channel, command, seconds; flush accepts optional channel and clears karma cooldown.

Runtime discrepancies to track separately

Finding User-facing guidance
quote add dispatch argument order differs from the quote mutator signature Use q add; this package documents rather than fixes the legacy mismatch.
Bare .cmdcooldown has a no-argument read branch but its dispatcher requires following whitespace/arguments Do not advertise bare invocation as a reliable list command; use the explicit setter and .floodstatus diagnostics.
moduser ... level Owner force is still subject to the strict role comparison Do not treat force as a supported ownership-transfer or hierarchy bypass.
Legacy learn UPSERT lacks the author/operator check used for deletion Existing value can be overwritten while original author is preserved; do not describe it as author-protected.
Birthday mutation branches lack the usual explicit account-administration gate Document the implemented forms without claiming Administrator-only protection.
Hailo selective forgetting is design/rehearsal work Do not publish hailo forgetword/forget as supported commands; factoid forget is unrelated.

Audit basis

The registered names/surfaces come from Mediabot/Mediabot.pm; parser and permissions were checked in command modules, RSS commands/pacing/runtime, external news/bulletin, and Partyline dispatcher/handlers. Source guides used for complex features include docs/DYNAMIC_COMMANDS.md, docs/RSS_LIMITS.md, docs/INTERACTIVE_NEWS.md, docs/SHORT_CONTENT.md, docs/PLUGIN_API_V3.md and docs/RADIO.md.

The installation preview checks every indexed name, per-command heading, surface, source fingerprint, local link/anchor, Markdown table/fence and whitespace. These are documentation checks; they do not replace runtime tests, provider availability checks or live IRC acceptance.

Clone this wiki locally