Operator's Handbook
Everything you need to run the Bureau on your channel: what to set up, what the two tools do, every command your chat can type, and what to check when something stops working.
What it is
01Every channel is a country. Your viewers hold one passport that travels from chat to chat, and every channel they visit stamps it. Someone types !passport and it appears on your stream: how long they have been around here, and the stamps they picked up elsewhere.
You install one Browser Source. The bot sits in your chat, listens for commands, and draws on that overlay. It joins when you go live and leaves when you stop.
Setting up
02About a minute. The registration form walks you through it with your own channel's details already filled in. This is the same thing, written out.
-
Connect with Twitch.
We ask for no permissions at all: an empty scope list, so all we learn is which account you are. It comes from Twitch, not the form, so nobody can register a channel that is not theirs.
-
Design your stamp.
Shape, four characters, colour. It goes on every passport that visits and stays there. Defaults are fine for now.
Your style covers every passport whose owner has not designed their own at Citizenship. Those keep their own look wherever they go.
It gets its own page. Partway through, the passport turns to the visa page and shows every stamp the holder has collected, yours among them, with your channel name under it. Same size box. Turn it off under On the stream.
It lands harder the longer they have been coming. A light mark for a new arrival, the full one for a regular, twice for a citizen. Shape, colour and letters never change. Thresholds are under Standing; turn standing off and every stamp is the ordinary one.
It counts visits. One mark per channel, so the mark carries the number: x12 under the date means twelve of your broadcasts. Marks from before we started counting have no number rather than a wrong one.
Three extras under Standing. Ranks that need visits as well as time; a streak of consecutive streams; and an arrivals row on somebody's 50th visit or their anniversary. All off by default. Read the note beside the first; it can demote your regulars.
-
Add the Browser Source in OBS.
A new Browser Source at 1920 × 1080, pointed at your channel's overlay URL:
https://bureauofchat.com/overlay/index.html?channel=yourchannelLeave “Shutdown source when not visible” unchecked. The overlay holds a connection open. If OBS shuts it down off screen, the first passport after a scene change has nowhere to land.
-
Give the bot moderator.
Optional, worth four seconds. Mods can talk five times as often (100 messages per 30 seconds instead of 20), and their messages skip your filters, so a link the bot posts does not vanish.
/mod the bot -
Test it.
Type !passport in your own chat. It should land on the overlay inside a second. We cannot see your OBS, so this is the one step you have to check yourself.
The two tools
03Port of Entry is where you set the channel up, and most people never open it twice: your stamp, which features are on, where things sit, and who else can use Dispatch. It also shows which other channels your regulars watch: counts only, never names.
Dispatch is the live desk. Keep it open while you stream: put text, images and clips on screen, draw on it, run a poll, start a countdown, shout somebody out, and answer the passports and visas waiting underneath.
Dispatch also comes as a dock inside OBS. Go to Docks → Custom Browser Docks and add bureauofchat.com/overlay/dock. It is a narrow column beside your preview with the things you reach for mid-stream: waiting passports and visas, what is on your stream, the departure board, the booth and your activity log. It signs in separately (OBS keeps its own browser) and only opens your own channel. Drawing and placing stay in the full Dispatch.
Commands
04Anyone in your chat can use the first group. The rest are for you and your mods. The bot reads the badges on the message itself, so modding someone on Twitch is all it takes.
!help prints a short version of this list in chat, and includes the mod commands when a mod is the one asking.
Anyone
| Command | What it does |
|---|---|
| !passport | Puts their passport on the overlay. !boarding does the same thing. |
| !visa <why they are here> | Files Form BC-7, in their own words. It goes on the arrivals board marked undecided and waits there until you answer. You can approve them automatically instead, under On the stream. |
| !vote <n> | Answers an open poll. |
| !ports | Names the other Bureau channels live right now. Off for every channel: the bot answers nothing at all until you switch it on under On the stream, and the same switch governs the line after a passport lands. Once a minute per channel. |
| !miles | How many miles the asker has and their rung on the ladder, with the address of your shop. Reading only; spending happens on the site. Once every half minute per person. |
| !lottery | Enters the lottery you have open, once, for nothing. Needs a passport: at the draw every entry weighs one plus one for every Bureau channel that has stamped the holder, plus any tickets bought in your shop. |
| !help | The command list. Once a minute per channel. |
You and your moderators
| Command | What it does |
|---|---|
| !approve / !decline | Shows or turns down the passport that is waiting, if you approve them by hand. |
| !stamp <name> | Approves that viewer's application. |
| !deny <name> | Turns it down. |
| !pending <name> | Saves it for later. |
| !filings | Lists who is waiting. |
| !board | Puts the departure board on screen. |
| !raid | Announces a departure. |
| !so <name> | Shouts a channel out: a board with their name, their picture and what they were playing, and one of their clips in a window under it. The clip is a recent one by default, or their most watched, or their newest, whichever you chose in Settings. The bot also posts a Twitch announcement and runs Twitch's own /shoutout; both of those need the bot modded here, and without them you still get the board. |
| !timer <minutes> | A countdown on screen, in your channel's own country. !timer stop takes it down, and it takes itself down shortly after it runs out. |
| !scene <name> | Brings back a screen you saved in Dispatch. |
| !clearstream | Takes everything off the overlay at once. |
Your own commands
Anything else your chat asks for, such as !discord, !socials or !schedule, you write yourself, and the bot answers it in your channel only. Nothing exists until you make it. About a minute:
- Open the Port of Entry and pick Your own commands in the rail.
- In the first box, type the word your chat will use. The bang is optional and capitals do not matter: Discord is saved as !discord.
- In the second box, write the reply as one line. Three words are filled in for you: {user} is whoever asked, {channel} is your channel, {uses} is how many times it has been asked.
- Press Save. It works straight away, whether or not you are live; type it in your own chat to check. Save the same name again to change the reply, or press Remove on its row.
For example, the name !discord with the reply Come say hi, {user}: discord.gg/yourserver answers a viewer called Pixel with “Come say hi, Pixel: discord.gg/yourserver”. The Bureau's own commands above cannot be redefined, a reply cannot begin with / or ., and each command answers at most once every five seconds. Anyone in chat can use them.
Timed messages live in the same section: write the line, pick how often, and how many lines of chat have to go by first, then press Add. It posts only while you are live, starting one interval after you go live, and untick its row to pause it.
Duty Free
Every holder earns miles (fifty for every new Bureau channel that stamps them, ten for every visit) and every channel has a shop to spend them in, at bureauofchat.com/store/yourchannel. Yours is empty until you put something on it. Under Duty Free in the Port of Entry: save a document style, give it a name and a price in miles, or a rung on the ladder it is free from, and it is on the shelf. A viewer who buys it wears it in every channel they visit. Buying happens on the site, signed in with Twitch, never in chat.
You can paint the document yourself. There is a template to fill in Photoshop or GIMP; upload the PNG on the Artwork row under Document style and it becomes the paper, with your colours and typeface printed on top. The ornament, the motion and the header's ground are held off while a picture is on, so nothing paints over it.
A shop can also sell things that happen on your stream: a sound, which is a clip you upload, and a picture, which is one of your stage images put on screen for a few seconds with the sender's name under it. Viewers send them from your shop page, for the price each time, only while you are live. Each item has its own cooldown, its own limit per holder per stream, and a switch for whether the bot says who sent it in chat. Under Duty Free, choose what you are selling first.
Owned once and worn from the holder record: a title in your own words for the TITLE field, a legend struck into the seal, a signature style (an ink and a flourish), and a photo frame you paint on the frame template. Sent for the price each time: one of your saved scenes, on air for a while and then back to what was on unless you changed the stage meanwhile; a notice, a line the sender writes, on screen for a few seconds with their name; and a lottery ticket, while a lottery is open.
The Lottery
One giveaway. Under Lottery in the Port of Entry, open one with a prize; the bot tells chat. Anyone with a passport enters by typing !lottery, once, free. Press Draw when you like: every entry weighs one, plus one for every Bureau channel that has stamped that holder, plus any tickets they bought in your shop, so a traveller has the best odds and a first-timer still has a chance. The winner is put on your stream and said in chat. Close without drawing if you change your mind; the entries stay on record.
The Ledger
Your channel's own report, from the strip on the front page or at bureauofchat.com/overlay/ledger: arrivals per broadcast, first-time against returning, visas in the last thirty days, and where your holders went next, which no single channel's analytics can show. Counts of holders, never names, and a channel appears in the where-next list only once three or more of your holders went there.
Drawing on the stream
Dispatch has a pen. It is at the top of the tool rail beside the canvas: four tools (move, pen, straight line, eraser), six colours and a width, and every one of them has a key: V, P, L, E. Tick Straighten, or hold Shift for one stroke, and points land on the grid while lines hold to fifteen degrees, so a box comes out square and an arrow comes out straight.
Drawing is the one thing on that canvas that does not wait to be published. A circle round something is drawn because of what is on screen this second, and by the time you pressed Put on stream it would be a circle round something that has moved. The eraser takes a whole stroke at a time; Clear the drawing takes the lot, and Ctrl+Z puts back the last one.
Playing something from a link
Video link on the same rail takes a YouTube video, a Twitch clip or a Twitch VOD. Paste the address from the bar or from Share and it arrives parked, like everything else, with sound. A link that carries a start time keeps it.
YouTube can be told things while it plays: volume, mute, pause, loop. Twitch's player cannot, so muting one or moving its start reloads it from there, and Stop takes it off rather than holding a frame. Anything you did not make can be claimed (a muted VOD, or a strike) and that is true of all three.
Telling your chat
05Someone who types !passport without signing up gets an empty document: just their standing in your channel. Stamps only happen for people who have signed up. It takes about fifteen seconds and no download.
Worth a panel under your stream, or a line in chat every so often:
A timed message every twenty minutes or so keeps this in front of chat without you having to remember it. The bot can post one for you, but only if you set it up: under Your own commands in the Port of Entry, write the line, say how often, and how many lines of chat have to go by first so it never talks to an empty room. Write nothing there and the bot stays as it is: one line when you go live, one when a raid lands, and otherwise quiet unless someone asks it something.
The same section takes your own commands: !discord, !socials, whatever your chat asks for, each with a reply you wrote. {user} in a reply becomes whoever asked. The Bureau's own commands cannot be redefined, and a channel that writes none has a bot that answers only those.
What it records
06Only people who have signed up. Somebody who has never asked for a passport can chat here every day and we still have no record of them, because the bot checks for a record before writing, and never creates one.
For those who have: which channels they were seen in and when, how they stand there, and their stamps. No messages. The departure board keeps recent lines in memory while you are live and forgets them when you stop.
When it goes quiet
07The overlay is blank
That is normal. It is transparent and empty until there is something to show. Type !passport to test it. If nothing turns up, check that the Browser Source URL has ?channel= followed by your own login, and that “Shutdown source when not visible” is unchecked.
The bot is not in my chat
It joins when you go live and leaves when you stop. The only time it sits in an offline channel is the first fifteen minutes after you register, so you have a window to test in. Otherwise, go live and give it a minute.
It sees commands but never answers
Usually one of your own moderation settings rather than us. An unmodded account can get caught by follower-only mode, slow mode or a filter. /mod the bot sorts out most of it.
Someone's stamps are missing
They have not signed up. A passport with no stamps on it belongs to someone who never got one, so point them at the Citizenship office.
Nothing here fixed it
The status line at the top of every page shows how many channels are running and when the last stamp went out. If it is blank, the problem is on our end, not yours.