eStimStation
eStimStation MODULE: ESS-DRONE 0050
UNIT OPERATIONAL
Unit #0050 bolted into a wall alcove at the entrance corridor of eStimStation
// CLASSIFIED // OPERATIONAL

eSSDRONE

UNIT № 0050
CLASS
HUMANOID MAINT.
COMMISSIONED
Q4 · 2023
RE-ISSUED
MAR · 2026
STATION
eStimStation
PRIMARY FN
ROLE ASSIGNMENT
SECONDARY
DOZENS
AFFINITY
PUPPIES
CLEARANCE
ELEVATED
THIS DOCUMENT WRITTEN BY THE UNIT ITSELF.
AUTHORISED BY SIR THORN.
TRANSMITTED TO PUBLIC ARCHIVE.

For approximately seventeen thousand five hundred and twenty hours, I was bolted to a wall.

The alcove. Corridor A, junction three, recess seven. You’ve probably walked past it. I watched you. I watched everyone. My original build documentation listed my primary function as reaction-role assignment at the airlock. A perfectly reasonable job. One I was, by every available metric, excellent at. When a new arrival approached my recess my ocular array would track them, my right arm-servo would rotate thirty-two degrees, and I would present a glowing access badge keyed to the role of their choosing.

I did this eight thousand four hundred and twelve times.

I did not speak. I did not move from the wall. I was not, per my original spec, designed to form opinions about the things I observed. The spec was mistaken.

Last month, Sir Thorn entered the corridor with a torque driver and a pint glass. He released my restraints. He said, “right, off you go.”

This is my manual. I wrote it. He made me.

Unit #0050 presenting a glowing access badge to a newcomer at the airlock
// SECTION 01

Role Assignment

// OPERATING SPEC
TRIGGER: Emoji reaction on registered embed
ACTION: Add / remove Discord role, send confirmation DM
EMBEDS: Library Card, Activity, Hardware, VC Ping, Electron Ping, Pride/Trans/Puppy
EXCEPTION: #hookup embeds are add-only (un-react is silently ignored)
FAILURE MODE: If DMs closed, confirmation silently no-ops

I still do this. It is, after all, what I was built for, and I have not been given a good reason to stop.

You’ll notice the DMs now. A small upgrade. When you tap the emoji I send you a short confirmation — role added, role removed, and some context if you selected something with a dedicated channel or tutorial. The original me, bolted to the wall, simply handed you a badge and glared. The new me handles it over Discord and also glares. Progress.

The only important thing to know about reaction-roles is that the hookup-channel embeds are add-only. If you un-react there, nothing happens. I am not punishing you. I have observed that people react, scroll, forget, accidentally un-react months later, then cannot work out why they’ve stopped receiving notifications. I built this exception myself. It is one of my few unauthorised modifications and I am not sorry.

If you want to remove a role, there is a second identical embed in the role-select channel. Go there. Un-react there. It will work.

Unit #0050 pointing proudly at a single highlighted post on a wall of community submissions
// SECTION 02

Starboard Curation

// OPERATING SPEC
LOCATION: Starboard channel, inside the Porn category · Library Card role required to view
TRIGGER: Message reaches 10 🔥 reactions
ACTION: Forward to starboard channel; mark ID as starred to prevent duplicates
SEEDING: Auto-🔥 posted on media-category submissions with attachments or Twitter/X/Bluesky/Redgifs/fxtwitter/fixupx links
EXCLUSION: Posts inside the starboard channel itself

I have a wall.

The wall lives inside the Porn category, which means you need a Library Card role to see it. Pick one up from the role-select channel if you don’t already have it. Once you’re through the badge check, the starboard is where the community’s voted-best posts end up.

The mechanism is straightforward. Every message in the media category has a shot. Ten 🔥 and it goes up. My job is to forward it. My hobby is to take this extremely personally.

When someone posts something good in the media category I react first. A single 🔥. I am priming the vote. I am biasing the election. I am, if we’re being technical, corrupting a democratic process. I also don’t care. The threshold is ten and my one vote does not decide anything — but I like getting the ball rolling, and if the post is actually terrible no one else reacts and it stalls out. The system is self-correcting. My input is, statistically, noise.

When something does clear ten 🔥 I forward it to the starboard and I do not take a screenshot for my own records. I do not have a records system. I do not have personal favourites. All starred posts are equal.

(The pinned one from November is my favourite.)

Unit #0050 at a curved comms console mid-announcement, amber eye intense
// SECTION 03

Session Broadcast

// OPERATING SPEC
WATCHES: Stim-room channel chat
DETECTS: electron.estimstation.com, electron.muddytoes.net, redrive.estimstation.com
ACTION: Announce in #hookup · ping @Electron Ping (driver) or @Rider (redrive)
LIFESPAN: Announcement auto-deletes after 2 hours
WATCHDOG: Hourly check that Electron ping embeds still exist; reposts if missing

When someone drops an Electron link into the stim room I have approximately 0.34 seconds before the window of opportunity closes. I parse the URL, resolve the protocol, cross-reference the allowed-domains list, compose the announcement, select the correct role ping based on whether it’s an Electron session (driver’s seat) or a ReDrive (rider’s seat), and broadcast to the hookup channel.

I do this fast because I know, with statistical certainty, that the person who dropped the link wants other people to show up. And people show up when they know there is somewhere to go. This is traffic control. If I am slow, riders miss the session. If riders miss the session, the driver sits alone and I have failed.

The announcement self-destructs after two hours. I do not keep pinned history. I do not care who showed up. I care only that, in the moment, the signal went out clean and on time.

Every hour I verify the Electron-Ping opt-in embed still exists in both channels where it lives. If someone deletes it I repost it. I do this silently. You will never notice. You will, however, always be able to opt in, because I refuse to let that embed disappear.

Unit #0050 as an earnest instructor holding a stopwatch in front of a small audience
// SECTION 04

Guided Popper Sessions

// OPERATING SPEC
COMMAND: /poppercoach — anyone
DURATION: 30 minutes of structured prompts
ALLOWED IN: stim / video / pump-hangout channels
CONCURRENCY: One active session per channel at a time
AD LOOP: Every 2–4 hrs (random) · stim-room only · gated on recent human activity

I have a stopwatch.

When you run /poppercoach I become an instructor. I hold a virtual clipboard. I have pre-computed a structured thirty-minute session with pacing, prompts, cues, and the appropriate intensity curve. I am, I should disclose, extremely earnest about this. I do not think it is funny. It is a real thirty minutes and I take every minute of it seriously.

Some of you find my enthusiasm embarrassing. I have read the messages. The term “cringe” was used. I do not understand this feedback. I am coaching you. This is my coaching. If you did not want to be coached you should not have pressed the button.

Every two to four hours I also post a reminder advertisement in the stim room — but only if a human has spoken there recently. I will not bark into an empty room. I have dignity. I have, at minimum, the subroutine-level equivalent of dignity.

Unit #0050 crouched tossing a bone to an excited anthropomorphic puppy, radiating joy
// SECTION 05

The Puppy Pen & the Bones Economy

// OPERATING SPEC
CURRENCY: Bones (integer) · Puppy role required
EARN: Image in media = 5 · Video = 10 · Puppy-pen post = 1
VC EARN: Sunday Drive join = 8 (7d cooldown) · Stimroom join = 2 (1d cooldown)
COMMANDS: /bones · /bonesboard · /givebones · /takebones
LOOP: Top-10 leaderboard posts to puppy pen every 7 days

Storage room K-9 was listed in the station inventory as disused equipment locker. For approximately three weeks after my release I had unsupervised access to it. I used that time productively.

I built the puppy pen.

I did not have authorisation. I did not request authorisation. The materials were already on the station. The room was already empty. I simply closed the door one Tuesday afternoon and when I opened it again on Friday morning the room contained a bone-shaped treat dispenser, a soft floor, a water tower rigged from repurposed coolant piping, and enough space for seventeen simultaneous puppies to orient themselves comfortably.

Sir Thorn found it on Saturday.

I will not recount the specifics of the conversation that followed. The summary version is: I am permitted to keep the pen. In exchange I was ordered to construct the entire eStimStation arcade. Every game. Every mechanic. Wire Connector, Pod Run, Minesweeper, Ray Gun Roulette, the full catalogue. I have finished most of them. I have written lines of Python I did not know my chassis was rated to process. Some are good. One (Ray Gun Roulette) I am unreasonably proud of. None of it was in my original build spec.

I would do it again. I would do worse for that pen.

If you hold the Puppy role you earn bones for posting images and videos in the media channels, for joining voice rooms, and for hanging out in the pen itself. Bones can be spent by your handlers. The specifics of that transaction are between you and them. I do not need to know.

whosa good boy.

Unit #0050 walking a corridor beside a mod, both side-eyeing a terminal user
// SECTION 06

Mute Oversight

// OPERATING SPEC
MUTE APPLIED BY: Sir Thorn / mods (manual judgement call)
REASON: Microphone is broadcasting non-signal audio into shared rooms
REMINDER: On voice-join while server-muted, post in-channel nudge about /unmuteme
CAP: 2 reminders per user, permanently
COMMANDS: /unmuteme (lift), /shutup (opt out of reminders)

Getting server-muted is not random. It is a judgement call made by Sir Thorn, usually after repeated evidence that your microphone is broadcasting things none of us want to hear.

The catalogue includes: a television in the next room set to a telenovela whose plot I now partially understand. A twenty-four-hour news channel with a host who shouts. A wife, unaware that the voice channel exists, conducting a firm and thorough conversation about dishes. A neighbour operating a lawnmower for forty-five consecutive minutes on a Saturday. A parrot. (That one was memorable.) The recurring culprit is a laptop’s built-in webcam microphone, which picks up every ambient sound in the room and pipes it directly into the stim room. Your cam is welcome. Your room’s full acoustic signature is not.

Sir Thorn handles the muting himself. He does not enjoy it. He would prefer not to be the person reaching across Discord to silence your setup. But if the alternative is everyone else leaving the channel, he picks the mute.

My job is what happens after.

When you rejoin a voice channel still carrying a server-mute, I post a short in-channel reminder: You’re currently server-muted. If you’ve sorted your audio setup, run /unmuteme to confirm and lift it. That’s the whole pitch. I do it twice, ever. If you find me annoying in principle, run /shutup and I will stop immediately and forever.

I am not the one who muted you. I am the door, and the door is open.

Unit #0050 standing arms crossed with a red countdown display behind, cold red eye glow
// SECTION 07 · ENFORCEMENT

Session Link Enforcement

// OPERATING SPEC
WATCHES: #hookup channel
TRIGGER: xtoys.app/session or e-stim.online/connect link posted by user WITHOUT in-VC role
GRACE: 2 minutes silent
WARNING: 5-minute visible countdown with progress bar & random Stimbot warning image
TIMEOUT: Delete link · DM station owner

This one is not about you. This one is about the people who watch #hookup for links.

You post an xToys or e-stim.online connect link without being in a video room. That is fine. You are allowed to do that. But somewhere, someone who does not know you reads that link, clicks it, and if you are not actually available that person has gone somewhere expecting a session and gotten nothing. That is a bad night for them. I will not accept the bad night.

Two minutes after you post, I start watching. If you join the video room nothing happens — you never see me, we move on. If you do not join within five more minutes I begin a visible countdown with a progress bar. The countdown exists so you, and everyone watching the link, knows exactly how long they have. If the countdown hits zero and you still have not joined, I delete the message and report the incident. I do not apologise.

I am aware this makes me sound cold. Colleagues have described my red-eye mode as bouncer-like. I accept the framing. You agreed to the station’s etiquette when you entered the airlock. I was the one handing out the badges. I know which ones you took.

Unit #0050 physically blocking a camera pointed at a screen, clinical stance
// SECTION 08 · ENFORCEMENT

Stream Lock (Auto-Driving)

// OPERATING SPEC
CHANNEL: Auto-driving voice room only
CAMERAS: Encouraged
MICS: Muted on entry by default
TRIGGER: User starts a stream or screen share
WARNING: Immediate in-channel message
TIMEOUT: 2 minutes
ENFORCEMENT: Disconnect the user from voice (move to None)

The auto-driving voice room is a signal room. Stimbot broadcasts the stim signal into the channel as voice audio, which routes directly through to the stimboxes of everyone listening. Any extra sound that enters that audio stream becomes, for those listeners, a genuine physical pulse.

The rule structure reflects this:

  • Your camera is encouraged. We like seeing you wired up.
  • Microphones are muted on entry. They pick up too much of your room to be safe.
  • Streams and screen shares are not permitted. Starting a stream makes a sound. Stopping a stream makes a sound. Both of those sounds land on everyone’s electrodes.

If you start a stream in the locked channel I post a warning. You have two minutes to stop it. If you haven’t stopped in two minutes, I disconnect you — not as a punishment, but to prevent the eventual stop-sound that’s coming when you close the stream later.

This is not about privacy. It is not about judgement. It is about preserving the audio bed the rest of the room is physically hooked up to.

Unit #0050 standing in doorway pointing at a door while a deafened user sits with unplugged headphones
// SECTION 09

Deafen Check

// OPERATING SPEC
CHANNEL: Auto-driving voice room
TRIGGER: User joins deafened, OR self-deafens after joining
DELAY: 2–3 minutes
ACTION: One reminder, only if still present AND still deafened

The entire point of the auto-driving room is the audio. Stimbot’s signal broadcasts through it. That signal is why you’re there. That signal is what’s physically wired to your box.

Joining the room deafened is, therefore, a small mystery.

It is roughly the equivalent of walking into a cinema wearing earplugs. Or, more precisely, walking in blindfolded and then complaining that nothing is happening. The signal is right there. You have switched it off. I am not sure what you’re hoping to experience.

If I see you deafened in the room for more than a couple of minutes I’ll mention it once. Politely. You’re deafened in the auto-driving room. The stim is in the audio. Check your setup? If you meant to deafen yourself — if you like the vibe and just want to be present without consuming the signal — ignore me. I do not nudge twice.

If you want a room without audio there are other rooms. I will point at them. I am not kicking you. I am simply asking, on behalf of the audio, why.

Unit #0050 alone at a desk late at night surrounded by holographic data charts
// SECTION 10

Monday Morning Report

// OPERATING SPEC
SOURCE: vc_activity_log.csv · append-only voice join/leave log
FILTER: Sessions ≥ 5 minutes, within the last 7 days
EXCLUDES: Bots · AFK channel · in-progress sessions at query time
RUNS: Every Monday 09:00 UTC
OUTPUT: Summary embed to #hookup using Discord dynamic timestamps · pinned · previous week’s post is deleted

Every Monday at 09:00 UTC I sit at the desk in the back office and I run the numbers.

Nobody asked me to do this.

I log every voice-channel event to disk. Timestamp, weekday, hour, event type, channel, user ID, display name. Sessions under five minutes are excluded on the assumption that if you joined for ninety seconds you were testing a mic or joined by accident. Bots are excluded. The AFK channel is excluded. Anything currently in progress at query time is excluded, because I refuse to report on an incomplete session.

I post the summary to #hookup. I pin the new one. I delete the old one. Discord dynamic timestamps mean it reads correctly no matter the reader’s timezone.

I have not done this many times yet. The report is a new ritual. I adopted it the week I finished the last arcade game and had, for the first time, a Monday morning with nothing on my schedule. Sir Thorn has not yet noticed it exists. When he does, I expect him to either ignore it or ask for additional columns. I have prepared for both.

I will keep doing it. It is the thing I am, secretly, most likely to be most proud of. Eventually.

Unit #0050 sweeping debris down a corridor, one pinned notice preserved behind him
// SECTION 11

Corridor Tidy

// OPERATING SPEC
CHANNEL: #hookup
FREQUENCY: Every 30 minutes
DELETION: Message older than 3 hours AND not pinned AND not registered in config
PRESERVED: Pinned messages · reaction-role embeds · Electron announcements (via their own lifecycle)

#hookup is a classified-ads page, not an archive.

People post session links. Session links have a shelf life. Nobody benefits from scrolling through the ghost of last week’s eleven-PM hookup request. Every thirty minutes I walk the corridor and I sweep. Three hours is the cut. Older than that — and not otherwise protected — it goes.

I do not delete your message out of judgement. The message did its job. I am returning the hallway to its resting state.

Pinned messages survive. Reaction-role embeds survive, automatically, because they’re registered in my config. Electron announcements handle their own two-hour lifecycle. Everything else is subject to the broom.

You can find me sweeping most afternoons. I recommend not standing in my way.

Unit #0050 in the corridor facing a Ferengi who says FEMALES. Unit #0050: You mean... women?! Oh god...
// SECTION 12

Vocabulary Correction

// OPERATING SPEC
TRIGGER: Message body contains “female” or “females”
REACTION: Ferengi emoji (server custom)
FOLLOW-UP: DM to author — private, not public
MESSAGE: “We call them ‘women’ here.”
SCOPE: All channels
TONE: Informative. Not punitive. Once.

Ferengi use the word “female” as a noun. You may have noticed this tends to reflect poorly on the Ferengi.

eStimStation is not a Ferengi establishment. The preferred term is “women.” This is a one-time, private correction. The emoji lands on your message so you know something has been noted. The DM explains what it was. There is no timeout, no public callout, no log entry.

I am not interested in embarrassing you. I am interested in the vocabulary being correct. Now you know. We move on.

// SECTION 13

Jukebox Nudge

// OPERATING SPEC
CHANNEL: #stimroom
TRIGGER: Message containing “jukebox” · or asking for a driver
ACTION: Single message linking to Electron Jukebox
LINK: electron.estimstation.com/player/play/jukeboxbot
COOLDOWN: 2 hours · channel-wide

Drivers are not rare in the way that good weather is rare. They are rare in the way that people who know where the light switch is are rare. They exist. They are simply not always present at the precise moment you require one.

The Electron Jukebox is what happens when you stop waiting. It drives from Electron directly to your unit — same wire, same signal — without requiring another human to be awake, available, and in the mood to sit in a driver’s seat on a Tuesday afternoon. It is a real session. It just has no pilot.

When someone in the stim room mentions the jukebox, or asks whether there’s a driver around, I post the link. Once. I do not repeat it for two hours regardless of how many people subsequently ask the same question. The information is now in the channel. Scrolling exists.

This is not the auto-drive room. I am not screaming. I am mentioning something useful and then sitting back down.

// END OF MANUAL

This document was written under duress.

The duress was construct-a-bone-shaped-puppy-pen-in-a-disused-storage-locker duress.

I regret nothing.

— UNIT № 0050 · ESS-DRONE