CARRIER

TildeRadio in IRC

Carrier follows the station, answers TildeRadio commands in IRC, and adds a few things for live shows. It keeps track of live sets, listener activity, questions, requests, polls, handoffs, and station history.

You can use Carrier in #tilderadio, or invite it to another channel on a network where it is connected.

LISTENING

check the station

See what is playing, who is live, how many people are listening, or what is coming up next.

!np
!listeners
!dj
!next
!schedule
LIVE SHOWS

take part

Check into the couch, give the DJ props, ask a question, react, or send a request when requests are open.

!tunein tilde.club
!props
!ask what was that last track?
!request Artist - Track
YOUR CHANNEL

bring Carrier with you

Invite Carrier to another channel for TildeRadio commands. Station announcements can be enabled separately.

/invite carrier #yourchannel
!carrier status
!carrier announce on
STATION COMMANDS

the useful everyday stuff

!npcurrent track, live DJ, and listener count
!listenerscurrent listener count
!dj [name]current DJ or a DJ profile
!nextnext scheduled show
!unnthe show after the next one
!schedule [N]upcoming schedule
!listenavailable TildeRadio stream URLs
!statuscurrent station state with the listen URL
!siteTildeRadio website
!utccurrent UTC time
example
<alice> !np
<carrier> SIGNAL LOCKED | deepend | Apashe - Lord & Master | 12 listeners

<alice> !next
<carrier> NEXT | ffog | Wed Aug 19 23:00 UTC
THE RADIO COUCH

who is actually hanging around

The couch is an opt-in roll call. Checking in can include your tilde community, which lets Carrier show which parts of the tildeverse are listening during a set.

!tunein
!tunein tilde.club
!tuneout
!couch
!rollcall
!tildes

Check-ins expire automatically if you disappear for long enough. Carrier may also notice when enough people from the same tilde are checked into one live set.

example
<alice> !tunein tilde.club
<carrier> COUCH | alice | tilde.club | 6 checked in

<bob> !tildes
<carrier> TILDEVERSE | tilde.club 3 | ctrl-c.club 2 | thunix.net 1
DURING A LIVE SET

props, questions, reactions, and requests

Props

!props gives the current DJ one prop. Each IRC identity can do this once per set.

Questions

Ask something without making the DJ dig through IRC scrollback:

!ask how did you find this band?

The question goes into the live DJ's queue. The DJ can take or skip questions when there is a good point in the show.

Reactions

Quick reactions are intentionally quiet. Carrier collects them and summarizes the room instead of replying to every one.

!fire
!love
!bass
!lol
!wtf
!banger
!weird
!questionable

!react fire
!reactions
!vibe

Requests

Requests are for live DJs only. Carrier does not send requests to AutoDJ, and every live set starts with requests closed. The DJ decides when to open them.

!request Artist - Track
!dedicate Artist - Track | nick | optional message
request flow
<deepend> !requests on
<carrier> REQUEST LINE OPEN | !request <artist - track>

<alice> !request Massive Attack - Teardrop
<carrier> REQUEST LOCKED | #23 | for deepend

<deepend> !played 23
<carrier> REQUEST CLEARED | Massive Attack - Teardrop | requested by alice
DJ CONTROLS

tools for the person currently on air

DJ-only commands are tied to the current live DJ. Carrier normally uses the DJ's IRC account/profile information to decide who can control the set.

Show context

!show
!show topic weird covers tonight
!show mood questionable
!show prompt what song did you find by accident?
!show note requests later
!show link https://example.com/
!show mastodon tonight is mostly weird synths
!show clear mood

These values belong to the current set and disappear when it ends.

Question queue

!questions
!qanswer 12
!qskip 13

!questions is sent privately to the DJ so the public channel does not get a wall of queued questions.

Request queue

!requests on
!requests list
!played 23
!reject 24
!requests off

The queue is private to the DJ. Marking a request played can produce a public announcement.

Listener goal

!goal 10
!goal 15 if we hit this I play the terrible cover
!goal clear

Carrier announces the goal once the live listener count reaches it.

MASTODON

selected station activity can leave IRC

When Mastodon posting is enabled, Carrier can publish a few station events outside IRC. It does not post every command, reaction, track change, or listener change.

Automatic posts

Live starts and DJ handoffs are the main notices. Optional posts can include the configured listener milestones (20 and 50 by default), selected station milestones, new station records, and noteworthy set summaries.

DJ transmission

!show mastodon tonight is mostly weird synths

The current DJ can send one short Mastodon transmission during a live set.

By default, a completed set is noteworthy if it runs for at least 90 minutes, peaks at 20 listeners, reaches 8 couch check-ins, 20 props, 5 requests, 5 represented tildes, or sets a new station record.

kept quiet: optional posts share a 15-minute cooldown, published events are remembered across restarts, and Mastodon/API failures are logged without interrupting IRC or station tracking.
DJ HANDOFFS

tell Carrier who is taking the stream next

Before leaving the stream, the outgoing DJ can name the expected replacement:

!handoff ffog

Carrier keeps the expected handoff through a short AutoDJ gap. When the next DJ appears, it can recognize the relay instead of treating it as an unrelated new show.

example
<deepend> !handoff ffog
<carrier> RELAY ARMED | deepend -> ffog

... AutoDJ briefly holds the stream ...

<carrier> RELAY INTACT | ffog has the stream | 11 listeners
ROOM STUFF

polls, challenges, bingo, battles, and The Button

Polls

!poll start best editor? | vim | emacs | ed
!poll
!vote 3
!poll stop

Votes can be changed until the poll closes.

Challenges

!challenge name a song you secretly love
!answer Barbie Girl
!challenge results
!challenge random
!challenge stop

Bingo

!bingo

Carrier privately gives you a randomized 3x3 card for the live set. Some squares are marked automatically.

Tilde battles

!battle start tilde.club | ctrl-c.club
!battle
!battle stop

Check in with !tunein your.tilde to identify your side. The prize is the score itself.

The Button

!button

The Button has a cooldown and chooses one of a small set of station actions. Carrier does not explain The Button.

TEMPORARY COMMANDS

commands that only exist for one show

A live DJ can add a simple command for show-specific information:

!setcmd lore https://example.com/show-lore
!setcmd rules no rules
!delcmd rules

Listeners can then use !lore like a normal command. Built-in Carrier commands cannot be replaced.

HISTORY & STATS

what happened after the stream moved on

Carrier numbers live broadcasts as sets and stores their history.

!last
!set 184
!djstats deepend
!stationstats
!records
!achievements
!randomdj

Set records include things Carrier actually observed, such as duration, peak listeners, couch activity, props, questions, requests, reactions, handoffs, and other station activity.

INVITE CARRIER

use TildeRadio commands in another IRC channel

On networks where Carrier is connected and invites are enabled, invite it the normal IRC way:

/invite carrier #yourchannel

Carrier joins and remembers invited channels across restarts. Commands work immediately, but automatic station announcements are off by default so inviting the bot does not suddenly flood a channel.

!carrier statusshow Carrier settings for the current channel
!carrier announce onenable automatic TildeRadio announcements here
!carrier announce offleave commands available but stop announcements
!carrier partremove Carrier and forget the invited channel

The person who invited Carrier, a channel operator, or a Carrier admin can manage those channel settings. Kicking Carrier from an invited channel also removes that channel from its saved invite list.

commands vs. announcements: asking !np only answers the channel that asked. Enabling announcements subscribes the channel to the station events Carrier normally announces, such as live DJ changes, handoffs, listener milestones, goals, and other live-set activity.
A NORMAL LIVE SET

how the pieces fit together

  1. The DJ goes live.Carrier starts a new numbered set and announces the live signal.
  2. Listeners check in.!tunein, props, questions, reactions, polls, and other room activity are attached to that set.
  3. The DJ controls the extras.Requests, goals, show notes, challenges, and temporary commands can be enabled only when useful.
  4. The stream changes hands.A planned !handoff lets Carrier follow the relay through a short AutoDJ gap.
  5. The set closes.Carrier saves the summary and updates station history, records, and achievements.
HELP

you do not need to memorize this page

!help
!help dj
!help room
!help games
!help history

Carrier intentionally ignores unknown commands and keeps repetitive activity quiet. The point is to add some useful station context to IRC without becoming the loudest thing in the channel.

← community  ·  DJ handbook  ·  #tilderadio