Skip to content

Commands games

Teuk edited this page Oct 6, 2026 · 1 revision

Games, votes, karma and factoids

Reviewed against Mediabot 3.6dev-20261006_084503 (snapshot of 6 October 2026). This is the development-line reference; consult the tagged source for stable-release behaviour.

Examples use !; replace it with the configured trigger (m, #, etc.). See notation, transport and permissions. Each entry names its registered IRC surfaces; a handler accepting a private context does not itself make a name callable by PM. Plugin and dynamic-command policy may add restrictions.

On this page

8ball · affinity · choose · compat · duel · factoid · factoids · flip · forget · horo · horoscope · karma · karmadiff · karmahist · karmainfo · karmareset · karmatop · karmawatch · karmgraph · learn · poll · pollextend · pollresult · pollstatus · pollstop · pollvoters · qg · quotegame · roll · slap · trivia · triviareset · triviascore · triviastop · triviatop · unvote · vote · whatis

8ball

Ask the Magic 8-ball a yes/no question.

Access: public. IRC surfaces: channel.

!8ball <question>

affinity

Alias of compat; the same options, defaults and checks apply.

Access: public. IRC surfaces: channel.

!affinity <nick1> [nick2]

choose

Random pick. Weight opt:N. Deduplicates (empty result → error).

Access: public. IRC surfaces: channel.

!choose <option[:weight]> | <option[:weight]> [| ...]
!choose <option[:weight]> ou <option[:weight]> [ou ...]
!choose last
!choose history

At least two nonempty distinct options. Optional integer weight 1–20; duplicates are removed. last/history reads session choices (up to five). Weights are a feature of choose, separate from template %choose{...}.

compat

Compare IRC affinity between two nicks. Gated by +Games.

Access: public. IRC surfaces: channel.

!compat <nick1> [nick2]

With one nick, compares that nick with the caller; with two, compares the named pair. Requires the current channel and +Games; channel history must exist.

duel

Challenge a present nick to a d20 duel. Gated by chanset +Games.

Access: public. IRC surfaces: channel.

!duel <nick>
!duel stats [nick]
!duel top

Requires +Games. Target must be present and different from caller/bot; duel cooldown applies. stats defaults to caller, top shows five session leaders.

factoid

Show details of a fact: author, dates, recall count.

Access: public. IRC surfaces: channel.

!factoid <keyword>

factoids

List channel facts (glob pattern), or 'top' for the most recalled.

Access: public. IRC surfaces: channel.

!factoids [pattern|top]

Requires +Factoids. Omission lists facts, top lists most recalled; glob accepts * and ?, with the validated keyword alphabet. No arbitrary regex.

flip

Flip a coin (heads or tails).

Access: public. IRC surfaces: channel.

!flip

No command parameters. Channel-scoped results refer to the invocation channel.

forget

Delete a channel fact (author or channel op only).

Access: public. IRC surfaces: channel.

!forget <keyword>

Deletes a factoid, not AI context or a Hailo brain. Requires author or the handler’s channel operator privilege and +Factoids.

horo

Alias of horoscope; the same options, defaults and checks apply.

Access: public. IRC surfaces: channel.

!horo [nick|signe]

horoscope

Show a deterministic daily IRC horoscope. Public use is gated by +Games.

Access: public. IRC surfaces: channel.

!horoscope [nick|signe]

No target uses caller’s stored birthday/sign. A recognized zodiac sign may be supplied directly (including localized/multiword names); otherwise argument is a nick. Channel usage requires +Games.

karma

Show karma or vote: !karma + / !karma - . Requires nick on channel.

Access: public. IRC surfaces: channel.

!karma [nick]
!karma <+|-|++|--> <nick>
!karma log [nick]
!karma top [bottom] [1..10]

Default target is caller. Votes require target present on this channel and refuse self-votes; existing cooldown/watch rules apply. Plain nick++/nick-- behaviour is not a new command name.

karmadiff

Show karma delta for nick in the last 24h.

Access: public. IRC surfaces: channel.

!karmadiff [nick]

karmahist

Show the last 5 karma changes on the channel (optionally filtered by nick).

Access: public. IRC surfaces: channel.

!karmahist [nick]

karmainfo

Detailed karma stats: received, given, top voter.

Access: public. IRC surfaces: channel.

!karmainfo <nick>

karmareset

Reset a nick's karma to 0 on this channel.

Access: Master+. IRC surfaces: channel.

!karmareset <nick>

karmatop

Show the top N karma scores (default 5). Use 'karmatop bottom [n]' for lowest scores.

Access: public. IRC surfaces: channel.

!karmatop [bottom] [1..10]

Default five highest scores; bottom selects the lowest. Count clamped 1–10.

karmawatch

Watch a nick's karma. Get notified on any vote (max 5 watches). Toggle on/off.

Access: public. IRC surfaces: channel.

!karmawatch [nick]
!karmawatch list

Toggles one nick on/off in caller’s watch list; default target caller. At most five watches; list reads them. Runtime/session state is not a subscription guaranteed across restart.

karmgraph

ASCII sparkline of karma changes over the last 7 days.

Access: public. IRC surfaces: channel.

!karmgraph [nick]

learn

Store a shared channel fact. Recall with whatis.

Access: public. IRC surfaces: channel.

!learn <keyword> = <value>

Requires +Factoids. Keyword is 1–64 ASCII lowercase letters/digits/underscore/dot/hyphen; value is nonempty and truncated to 400 UTF-8 bytes. = separates keyword from the full value. The legacy UPSERT updates the value while preserving the original author; unlike deletion, this update branch has no explicit author/operator check in this snapshot. See the audit notes.

poll

Start a poll. 'weighted' enables weighted options (opt:N).

Access: Master+. IRC surfaces: channel.

!poll [weighted] [10..3600] <question> | <option[:weight]> | <option[:weight]> [| ...]

Creation requires Master+. Timeout defaults 300s and clamps 10–3600. If used, weighted precedes seconds, unlike the old help text; weight 1–10 per option. At least two options. vote N selects an option; unvote withdraws. See pollstatus/pollresult for read views.

pollextend

Extend the current poll timer by N seconds (10-600).

Access: public. IRC surfaces: channel.

!pollextend <secs>

Positive seconds extend the running timer, bounded 10–600; it does not start a poll.

pollresult

Show current or last poll results.

Access: public. IRC surfaces: channel.

!pollresult

No command parameters. Channel-scoped results refer to the invocation channel.

pollstatus

Show the current poll status without closing it.

Access: public. IRC surfaces: channel.

!pollstatus

Reads the current channel poll without closing it. No parameters.

pollstop

Close the active poll.

Access: Master+. IRC surfaces: channel.

!pollstop

No command parameters. Channel-scoped results refer to the invocation channel.

pollvoters

Show who voted for what in the current poll.

Access: Master+. IRC surfaces: channel.

!pollvoters

No command parameters. Channel-scoped results refer to the invocation channel.

qg

Alias of quotegame; the same options, defaults and checks apply.

Access: public. IRC surfaces: channel.

!qg [stop|top]

quotegame

Guess who said a stored quote. Uses a proactive 60s timer. Gated by +Games.

Access: public. IRC surfaces: channel.

!quotegame [stop|top]

No option starts a 60-second guessing round from channel quotes. top reads the game ranking; stop ends the active round. Normal starts require +Games. Answer with ordinary channel text.

roll

Roll dice. Defaults to 1d6. Supports NdN format (e.g. 2d6, 1d20).

Access: public. IRC surfaces: channel.

!roll [<N>d<S>|<sides>] [<signed modifier>] [adv|advantage|dis|disadvantage]
!roll history

Default 1d6. Dice count clamped 1–20; sides 2–100. A bare number selects one die with that many sides. Signed modifier is capped −100…100. Advantage/disadvantage rolls a second die and keeps the higher/lower result for the single-die path. history reads the last five stored session results.

slap

Slap a nick with a random object via CTCP ACTION.

Access: public. IRC surfaces: channel.

!slap [nick]

trivia

Trivia. 'categories' to list. Named cats: science, history, music, film, tv...

Access: Public play/read; reset privileged. IRC surfaces: channel.

!trivia [category] [easy|medium|hard]
!trivia categories
!trivia start <1..20>
!trivia myscore [nick]
!trivia leaderboard [1..10]
!trivia reset [nick]

A normal invocation asks one question; category names/IDs follow the shown category list. start N requests rounds (clamped 1–20); it is a leading form, not an arbitrary category suffix. Answer in ordinary channel text. reset <nick> uses the privileged reset; bare reset is Owner-only full reset. Persistent rankings are distinct from session triviascore.

triviareset

Reset a nick's trivia score in DB.

Access: Master+. IRC surfaces: channel.

!triviareset <nick>

triviascore

Show trivia scores for the current channel session.

Access: public. IRC surfaces: channel.

!triviascore

No command parameters. Channel-scoped results refer to the invocation channel.

triviastop

Stop the active trivia game on this channel.

Access: Master+. IRC surfaces: channel.

!triviastop

No command parameters. Channel-scoped results refer to the invocation channel.

triviatop

Show top trivia scores from DB (hall of fame, max 15).

Access: public. IRC surfaces: channel.

!triviatop [n]

Default five, clamped 1–15 persisted players. This is distinct from trivia leaderboard and its ten-player cap.

unvote

Cancel your vote in the current poll.

Access: public. IRC surfaces: channel.

!unvote

No command parameters. Channel-scoped results refer to the invocation channel.

vote

Vote in the current poll. Shows live tally after each vote (U3).

Access: public. IRC surfaces: channel.

!vote <n>

whatis

Recall a shared channel fact stored with learn. Shortcut: ?keyword

Access: public. IRC surfaces: channel.

!whatis <keyword>

Requires +Factoids; ?keyword is the ordinary-message recall shortcut. Keyword resolves within this channel.

Complete index · Command notation

Clone this wiki locally