Skip to content

Social features and community analytics

Teuk edited this page Jul 12, 2026 · 6 revisions

Social features and community analytics

This page documents Mediabot's channel-memory and social layer.

These commands are designed to make an IRC channel feel alive without turning the bot into spam. Most output is compact, rate-limited, or sent by private NOTICE when it can be long.

The example prefix is !.


Quick map

Area Commands
Profiles and people seen, profil, profile, stats, last, whereis
Channel dashboards dashboard, chanstats, observatory, features, radar
Rankings leaderboard, lb, top, topsay, karmatop, triviatop
Mood and pulse mood, ambiance
History and nostalgia onthisday, otd, chronos, chrono, timeline, recap
Factoids learn, whatis, ?keyword, factoids, factoid, forget
Quotes quote, q, quotegame, topquote, halloffame
Milestones milestone, milestones
Games duel, horoscope, horo, compat, affinity, quotegame, qg
Achievements achievements, achievs

Channel feature flags

Chanset Effect
+AchievementAnnounce Public achievement unlock announcements. Achievements still unlock silently if disabled.
+Games Enables playful commands such as duel, horoscope, compat, quotegame.
+Factoids Enables shared channel facts: learn, whatis, factoids, factoid, forget, ?keyword.
+DidYouMean Suggests a close known command when a user mistypes a public command.
+OnThisDay Enables onthisday / otd history recall and optional digest behavior.

Regular users can inspect active feature state with:

!features
!help chansets

Changing chansets usually requires channel admin rights:

!chanset #channel +Games
!chanset #channel -AchievementAnnounce

People and profiles

seen

!seen SomeNick
!seen SomeNick #channel

Shows when a nick was last seen. The current implementation cleans the stored last message before display:

  • IRC color/control codes are removed;
  • whitespace is normalized;
  • the excerpt is bounded safely;
  • on active channels, a [N msg in last 24h] hint may be added.

Example:

SomeNick was last seen 3h ago on #teuk saying: hello there [42 msg in last 24h]

profil / profile

!profil
!profil SomeNick
!profile SomeNick

Shows a compact channel profile: first/last seen, message count, rank, karma, trivia, activity pattern and achievement count.

stats

!stats
!stats SomeNick

Shows channel/user statistics. Recent builds also include an achievement count when the nick has achievements on the channel.


Channel dashboards

dashboard / chanstats

!dashboard
!chanstats

Compact channel dashboard: messages, active nicks, top contributors, activity shape, karma and achievements.

observatory / obs

!observatory
!obs

Live channel and bot status: uptime, recent activity, energy, games status, achievement status, selected chansets and metrics state.

features / capabilities / caps

!features
!capabilities
!caps

Shows enabled channel capabilities and important feature flags by NOTICE.

radar

!radar
!radar 7d

Shows current or historical activity signals: active users, newcomers, quiet users and recent changes.


Mood and pulse

!mood
!ambiance

Analyzes recent channel messages for mood, energy and activity.

Current output can include:

Mood #channel (last 60min): joyful 75% · energy: active
  positives / negatives / emphasis
  driven by: alice (25), bob (12), carol (7) · peak today: 21h-22h (88 msgs)

The command has a cooldown and a database guard. If the DB is unavailable, it answers cleanly instead of crashing.


History and nostalgia

onthisday / otd

!onthisday
!otd
!onthisday 12-25
!onthisday 01/01
!otd 07-14

Shows what happened on this channel on a calendar day in previous years.

  • without a date: today, in previous years;
  • with a date: that month/day, in previous years;
  • supported separators: -, /, ..

Output is sent by NOTICE to avoid channel flood.

chronos / chrono / timeline

!chronos
!chronos short
!chronos full

Turns channel history into a compact or narrative timeline.

recap

!recap
!recap 30m
!recap 2h
!recap 2h ai

Summarizes recent channel activity. AI mode depends on configuration.


Factoids

Factoids are shared channel facts.

!learn coffee = black gold of the morning
!whatis coffee
?coffee
!factoid coffee
!factoids
!factoids top
!factoids cof*
!forget coffee

Behavior:

  • !learn stores or updates a fact.
  • !whatis recalls it.
  • ?keyword is a quiet shortcut: unknown keywords stay silent.
  • !factoids top ranks by recall count.
  • !factoid <keyword> shows metadata.
  • !forget is limited to the author or a channel operator.

Requires +Factoids.


Quotes and quote games

!quote
!q
!quote SomeNick
!quote add a memorable line
!quotecount SomeNick
!topquote
!topquote 10
!halloffame
!quotegame
!quotegame top
!quotegame stop

!topquote / !halloffame show the most recalled quotes. Mediabot 3.3 stores recall counts in QUOTES.hits.

!quotegame starts a guessing game from stored quotes and uses a proactive 60-second timer.


Leaderboards and milestones

Leaderboard

!leaderboard
!leaderboard msgs
!leaderboard karma
!leaderboard trivia
!leaderboard duels
!leaderboard achievs
!leaderboard msgs 7d
!lb karma 30d

Period filters apply where timestamped data exists, especially messages and karma.

Milestone

!milestone
!milestones

Shows total public messages logged, next round milestone, progress, ETA based on recent activity and lifetime average.

Example:

#teuk: 98,750 public messages logged
  next milestone: 100,000 (1,250 to go, 98%) · ~4 days at 300 msg/day
  logging since 2019-03-15 (7.3 years) · lifetime average 37 msg/day

Achievements

!achievements
!achievements SomeNick
!achievements list
!achievements all
!achievements top
!achievs top

Achievements are persisted and can unlock from normal activity, karma, trivia, duels, quote games and other social features.

Public announcements are controlled by +AchievementAnnounce.


Games

!duel SomeNick
!horoscope
!horo SomeNick
!compat NickA NickB
!affinity NickA NickB
!quotegame

These are designed to be lightweight and channel-friendly. They are usually gated by +Games.


Operator notes

For a new or quiet channel, a conservative setup is:

!chanset #channel +Games
!chanset #channel +Factoids
!chanset #channel +OnThisDay
!chanset #channel -AchievementAnnounce

Enable public achievement announcements only where the channel wants them.

Clone this wiki locally