KENNYBOT COMMANDS
kennyBot is Nikki’s helper bot — it clips moments, keeps time, remembers
the fun facts, runs the credits economy, and hosts the raid game.
Everything it understands is below; type these in Nikki’s Twitch chat.
subs = subscriber-only · mod = moderators only
Clips
Catch a moment as it happens. Anyone can use this.
-
!clipSave the last ~60 seconds of stream. Type it just after the moment rather than during, and kennyBot confirms in chat once it has it — when Twitch clipping is switched on it posts the link too. One clip per person per minute.
Around the stream
Odds and ends kennyBot keeps track of during a stream.
-
!timeralso: !countdownHow long is left on the stream timer — the countdown a mod sets for a break, an intermission, or “starting in 5”. Anyone can ask; kennyBot also calls out the last few minutes and announces when it’s up. Setting it is a mod control. -
!fact [#]also: !factsA random Nikki fun fact.!fact <#>pulls up the one with that number on the fun facts page, and!fact suggest <text>proposes a new one for approval. -
!kennycommandsalso: !kennybot, !kcommandsThis list.
Credits & the OKRAMARKET
Fun-money you earn by hanging out, then wager on predictions. No pay-to-win — credits can't be bought, only earned.
-
!creditsalso: !points, !bal, !balanceCheck your credit balance. -
!dailyClaim your daily credit allowance (your first-ever claim also drops a starter grubstake). -
!bet <market#> <yes|no> <amount>also: !wagerWager credits YES or NO on a market (the number targets it — see!market). You back one side; betting again on it adds to your stake. Winners split the whole pool proportional to their stake (parimutuel — no rake). If only one market is open you can skip the number:!bet yes 100. -
!marketList the open markets — several can run at once — with the YES/NO credit pool on each. Every market also takes a free community vote on the site (no credits). -
!market suggest <question>Propose a YES/NO market — e.g.!market suggest Will we clear the boss tonight?. A mod reviews it before it goes live. -
!duel <@user> <amount>Challenge another viewer to a coin-flip duel for credits. They reply!duel acceptor!duel deny; on accept both stake the wager and the winner takes the whole pot. Expires in 3 minutes.
Raid game · your raider
The channel’s chat RPG. Grow a little hero while you hang out, and gear it up.
-
!create <class>subsCreate your raider. Pick one class: Guardian (tank), Mender (healer), Berserker, Arcanist, or Ranger (all damage). Comes with starter gear. -
!charalso: !meView your character — class, level, EXP, rating, combat stats, and what you have equipped. -
!bagalso: !inventory, !invSee your unequipped loot — everything grabbed but not yet worn. Anything your role cannot use is marked ⛔ — pass it on with!give. -
!equip <item|#>Wear an item from your bag — by its!bagnumber or name. It slots into weapon, armor, or trinket automatically. Gear belongs to ONE role: equipping another role's item is refused (it would add nothing) and kennyBot names the class it is for. -
!unequip <slot|item>Move a slot (weapon / armor / trinket) or named item back into your bag. -
!offer @user <item|#> [+ credits]also: !give, !giftGIVE an item and/or credits to another player — one-way, nothing owed back. Put up an item by its!bagnumber or name (and optionally credits after a+) — e.g.!offer @okrafan 2or!offer @okrafan 2 + 50. They reply!offer acceptor!offer decline. Perfect for handing a drop to the raider it suits. -
!trade @user <item|#> [+ credits]Propose a real SWAP. You put up an item (by!bagnumber or name) and/or credits; the other player must put something up in return with!trade counter <their item # or credits>before it can go through — a bare!trade acceptwith nothing on their side is refused. Countering flips it back to you to!trade accept, counter again, or!trade decline. Each side only stakes from its own bag, offers expire after 5 minutes, and the swap is all-or-nothing. (Just want to give something away? Use!offer.)
Raid game · loot & raids
Chat loot drops, the weekly boss, and the leaderboard.
-
!grabsubs also: !lootEnter the drawing for the active loot drop. One winner is drawn when the window closes and gets the item. 🎲 -
!mustersubs to enlistEnlist your hero for the SEASON (subscribers) — once, not weekly. You stay on the roster for every week until the season ends; a new season starts everyone fresh. Any time, it reports the current raid status and links you to the action. -
!salvage <item|#> [confirm]also: !meltMelt an item into credits, priced by rarity.!salvage offroleclears everything your role cannot wear in one pass. Epic and better need an explicitconfirm. It pays less than the piece is worth to a hero who CAN use it — giving it away with!giveis always the better deal. -
!respec <class>subs also: !reclassChange class, and with it your battlefield role, for credits. Your level, EXP and prestige are kept; equipped gear returns to your bag (to trade or salvage) and a fresh starter set for the new role is equipped. A season rollover does NOT change your class — this is the command for that. -
!top [damage]The season leaderboard — ONE BOARD PER ROLE, each measured on its own job:!top dpsranks boss damage,!top healerranks healing done,!top tankranks damage soaked. A bare!topshows the damage board.
Mod tools
For moderators running the show. Nobody else needs these.
-
!market open <question> | close <#> | resolve <#> <yes|no> | cancel <#>modRun the OKRAMARKET — open a YES/NO market for wagering, close betting on one, resolve it to a winner (parimutuel payout), or cancel and refund every bet. Several can run at once (target each by its number). -
!market queue | approve <#> | reject <#>modReview viewer market suggestions and promote one to a live market. -
!exp on | off | auto | statusmodEXP gate control.autofollows the channel's live status. -
!mute on | off | statusmod also: !silenceSilence kennyBot's chat output — it keeps listening and tracking in the background. -
!clipmode horizontal | vertical | twitch | local | all | off | statusmodChoose which copies!clipmakes — the widescreen recording, the portrait one, a public Twitch clip, or any combination (!clipmode horizontal twitch).localis both local copies,allis everything,offdisables!clip.statusreports the current mode and whether each part is actually working. Takes effect immediately and survives a restart. -
!startmod also: !slateDrop a sync point at the top of the stream so this session's clips can be lined up with the recording afterwards. Run it once as you go live. -
!drop [itemId]modForce a loot drop right now. -
!drops on | off | every <min> | statusmodControl the automatic chat-drop scheduler. -
!boss set <name> | nextmodSet a custom boss, or advance to the next scripted season boss. -
!raidnightmodLock the roster and run the battle now. -
!fact pending | approve <#> | reject <#>modReview the viewer fact suggestions from!fact suggest— approving one publishes it straight to the fun facts page. -
!reminder on|off|test <id> | at <id> <times> | every|after <id> <min>mod also: !remindersThe recurring nudges kennyBot posts on stream — the Wallpaper Engine check 30 minutes in, Ghosty’s meal times with a heads-up beforehand, and an hourly hydration ping. A bare!reminderlists them all with what fires when. Every schedule is stored in the database, so re-timing one from chat (!reminder at ghosty 09:00 18:00) sticks — and survives updates to the bot. Also takeslead,jitter,text,leadtext,zoneandchannel. They only fire while the stream is live; a slot missed while offline is skipped rather than announced late. -
!timer <duration> [label] | +5 | -2m | pause | resume | stopmodSet the stream countdown — e.g.!timer 10 Coffee break. A bare number is minutes;90s,45m,1h30mand5:30all work too, and the words after it become the label.!timer +5/!timer -2madd or remove time without restarting it, andpause/resume/stopdo what they say. kennyBot posts a heads-up at 5 minutes and 1 minute, then calls time. Only one timer runs at a time (setting another replaces it), and it survives a bot restart. Anyone can check it with a bare!timer. -
!todo add [date] <text> | remove <#> | listmod also: !todosManage Nikki's to-do board — add a dated item (date optional, defaults to today; e.g.!todo add 2026-07-20 order a new mic), cross one off by its number, or list the board. Chat-controlled; the page is read-only. -
!season next | start <id> [name] | rollover <id> [name]mod!season nextis the one to use — it works out the tier and the season name itself, so there is nothing to remember or mistype. Rolling a season over is a PRESTIGE: every hero drops to level 1 with a fresh starter set and an empty bag, and this season's renown converts into permanent prestige — which multiplies both combat power and EXP gain forever. Classes are kept. It refuses while a raid is locked or live, and refuses once the last scripted tier has been played.startandrollovertake an explicit id and name for off-script seasons.
New to the raid game? The How to Play page walks through the weekly loop.