okra

Nikki BreAnne presents

OKRAFANS

okra

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.

  • !clip
    Save 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.

  • !timer also: !countdown
    How 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: !facts
    A 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.
  • !kennycommands also: !kennybot, !kcommands
    This 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.

  • !credits also: !points, !bal, !balance
    Check your credit balance.
  • !daily
    Claim your daily credit allowance (your first-ever claim also drops a starter grubstake).
  • !bet <market#> <yes|no> <amount> also: !wager
    Wager 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.
  • !market
    List 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 accept or !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> subs
    Create your raider. Pick one class: Guardian (tank), Mender (healer), Berserker, Arcanist, or Ranger (all damage). Comes with starter gear.
  • !char also: !me
    View your character — class, level, EXP, rating, combat stats, and what you have equipped.
  • !bag also: !inventory, !inv
    See 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 !bag number 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, !gift
    GIVE an item and/or credits to another player — one-way, nothing owed back. Put up an item by its !bag number or name (and optionally credits after a +) — e.g. !offer @okrafan 2 or !offer @okrafan 2 + 50. They reply !offer accept or !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 !bag number 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 accept with 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.

  • !grab subs also: !loot
    Enter the drawing for the active loot drop. One winner is drawn when the window closes and gets the item. 🎲
  • !muster subs to enlist
    Enlist 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: !melt
    Melt an item into credits, priced by rarity. !salvage offrole clears everything your role cannot wear in one pass. Epic and better need an explicit confirm. It pays less than the piece is worth to a hero who CAN use it — giving it away with !give is always the better deal.
  • !respec <class> subs also: !reclass
    Change 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 dps ranks boss damage, !top healer ranks healing done, !top tank ranks damage soaked. A bare !top shows the damage board.

Mod tools

For moderators running the show. Nobody else needs these.

  • !market open <question> | close <#> | resolve <#> <yes|no> | cancel <#> mod
    Run 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 <#> mod
    Review viewer market suggestions and promote one to a live market.
  • !exp on | off | auto | status mod
    EXP gate control. auto follows the channel's live status.
  • !mute on | off | status mod also: !silence
    Silence kennyBot's chat output — it keeps listening and tracking in the background.
  • !clipmode horizontal | vertical | twitch | local | all | off | status mod
    Choose which copies !clip makes — the widescreen recording, the portrait one, a public Twitch clip, or any combination (!clipmode horizontal twitch). local is both local copies, all is everything, off disables !clip. status reports the current mode and whether each part is actually working. Takes effect immediately and survives a restart.
  • !start mod also: !slate
    Drop 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] mod
    Force a loot drop right now.
  • !drops on | off | every <min> | status mod
    Control the automatic chat-drop scheduler.
  • !boss set <name> | next mod
    Set a custom boss, or advance to the next scripted season boss.
  • !raidnight mod
    Lock the roster and run the battle now.
  • !fact pending | approve <#> | reject <#> mod
    Review 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: !reminders
    The 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 !reminder lists 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 takes lead, jitter, text, leadtext, zone and channel. 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 | stop mod
    Set the stream countdown — e.g. !timer 10 Coffee break. A bare number is minutes; 90s, 45m, 1h30m and 5:30 all work too, and the words after it become the label. !timer +5 / !timer -2m add or remove time without restarting it, and pause / resume / stop do 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 <#> | list mod also: !todos
    Manage 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 next is 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. start and rollover take an explicit id and name for off-script seasons.

New to the raid game? The How to Play page walks through the weekly loop.