← Back

RustyBot Guide

Complete reference guide — setup, features, and troubleshooting

RustyBot Complete User Guide

A comprehensive guide to setting up, using, and customising the EVE Online Twitch & Kick giveaway bot.


Setup

What is RustyBot?

RustyBot is a desktop application for Twitch and Kick streamers who play EVE Online. It collects giveaway entries from your chat, picks random winners, and automatically looks up their EVE character information — all with flashy animations and sound effects.

If you would like to support RustyBot development you can do that via Ko-fi or via ISK.

Send ISK to IGN "Virxens"

All support is welcomed and very appreciated!

Installation

Option A — Installer (Recommended)

  1. Download the latest installer from the releases page

Important: To avoid being rate limited, please mod The_Rusty_Bot on Twitch and @therustybot on Kick before running the bot.

  1. Run the installer and follow the setup wizard
  2. Choose installation location (default: C:\Program Files\RustyBot)
  3. The installer handles Windows Defender exclusion and firewall configuration automatically

First-Time Setup

The first time you launch RustyBot, a setup window will ask for your Twitch channel name. Type it in and click save.

The bot will then attempt to connect to your Twitch chat automatically.

Launching the App

The launcher checks for updates before starting the main application, so you're always running the latest version.

Updating

RustyBot has an automatic update system. When an update is available: 1. The launcher detects the new version 2. A download progress dialog appears 3. Updates are installed automatically 4. The main app launches with the new version

Tip: Updates preserve your settings, credentials, and prize data.


Platform Connection

Twitch Connection

RustyBot automatically connects to Twitch on startup:

  1. Loads your channel name
  2. Connects to Twitch's IRC chat system
  3. Sends a welcome message: "RustyBot connected and ready!"

The bot uses both TwitchIO (the official library) and a direct IRC fallback connection to ensure reliable message reception.

Kick Connection

Kick requires additional setup:

  1. Go to Options → General → Kick.com Settings
  2. Click Auth with Kick to start the OAuth flow
  3. A browser window opens for you to authorise RustyBot
  4. The OAuth token is saved automatically

Note: Kick supports two authentication methods — OAuth (recommended) and legacy username/password. OAuth is more reliable and secure.

Once authenticated, RustyBot auto-detects your Kick channel and chatroom ID.

Status Lights

At the bottom of the main window, two status indicators show connection state:

Click a status light to manually reconnect if needed.

Platform Modes

You can choose which platforms to use in Options → General → Entry Settings:


Main Window Tour

The main window is split into draggable panels. Each panel has a title bar you can grab to rearrange.

Prize Controls

Located at the top of the window:

Action Buttons

Entrants List

Located on the right side. Shows everyone who has entered, with:

Duplicate entries from the same platform are automatically rejected. You can enable "Allow same user on both Twitch & Kick" in Options → General to let the same username enter from both platforms.

Info Panel

Has three sections:

Animation Panel

The main display area where winner reveal animations play. Supports 8 different animation styles.


Running a Giveaway

Before You Start — Setting Up Prize Lists

Before you run your first giveaway, you need prizes to give away. Prizes are stored in named lists that you can manage from two places:

Option A — Prize Notepad

Click the Notepad button on the main window to open the Prize Notepad:

Option B — Options → Prizes tab

Go to Options → Prizes to manage your prize lists:

Prize Format

When adding prizes you can include a donator name and quantity:

PLEX
PLEX (CCP)              -- with donator name
PLEX (x3) (CCP)         -- 3 copies with donator

Tip: The dropdown next to the prize input field shows all prizes from your active list, plus "🎲 RANDOM PRIZE 🎲" to pick one at random.

Step 1: Set a Prize

Three ways to set the prize:

Option A — Type it manually

Type the prize name into the prize input field, then click SET.

Example: PLEX
Example: PLEX (CCP)              -- with donator name
Example: PLEX (x3) (CCP)         -- with quantity + donator

Option B — Select from dropdown

Click the dropdown next to the prize input and pick a prize from your configured lists.

Option C — Use "SET / OPEN" (one-click shortcut)

Click SET / OPEN after typing or selecting a prize. This sets the prize AND opens the draw in one click.

Tip: You can also use "🎲 RANDOM PRIZE 🎲" from the dropdown to pick a random prize from your lists.

Step 2: Open the Draw

Click OPEN DRAW.

What happens: - The button label changes to CLOSE DRAW - Bot announces in Twitch chat: "GIVEAWAY OPEN! Prize: {prize}. Type '!draw' in chat!" - State indicator shows "COLLECTING" - Chat messages matching the join command are now accepted

Note: If you see an error when clicking OPEN DRAW, check that the bot is connected and a prize is set.

Step 3: Collect Entries

While the draw is open, viewers type the join command (!draw by default) in Twitch or Kick chat.

Step 4: Start the Draw

When you're ready to pick a winner:

  1. Click START DRAW
  2. The bot announces in chat: "Giveaway entries are now CLOSED."
  3. A winner is randomly selected from all participants
  4. The winner reveal animation plays

Note: You can click CLOSE DRAW without picking a winner if you need to cancel. Later, click START DRAW to draw from the same participant pool.

Step 5: Winner Animation

The animation plays in the main display area. You can change the animation style before starting the draw using the dropdown on the main window next to the animation panel, or in Options → Draw Style for more settings.

To change it from the main window:

  1. Use the animation style dropdown on the main window to pick a style instantly
  2. Adjust animation speed in Options → Draw Style → Speed Settings

Tip: Change the animation before opening or starting the draw so it takes effect for the winner reveal.

Available animation styles:

If you used "🎲 RANDOM PRIZE 🎲", a prize reveal animation plays FIRST to show what the prize is, followed by the winner draw.

Step 6: Winner Confirmation

After the animation, the winner has a set amount of time (default 90 seconds) to confirm by typing any message in chat.

The confirmation timer plays escalating sound effects at different thresholds (15%, 50%, 75%) to add tension.

Tip: You can change the confirmation timeout in Options → General → Timeouts → Confirmation Timeouts.

Step 7: IGN / ESI Lookup

Once confirmed, the bot tries to resolve the winner's EVE character:

  1. Twitch winners: Bot checks for EVE2Twitch bot response or previously stored IGN
  2. Kick winners: Bot uses the persistent IGN database or prompts for !ign
  3. If an IGN is found — ESI data is fetched (portrait, corporation, alliance)
  4. The winner's IGN is automatically copied to your clipboard so you can paste it wherever needed
  5. State shows "CONFIRMED WITH IGN" — draw is complete
  6. If no IGN can be found — streamer is prompted to ask the winner for their IGN manually

Tip: Winners can pre-register their IGN at any time with !ign <character name> in chat.

Step 8: After the Draw


Entry Methods

Types

You can change how viewers enter in Options → General → Entry Settings.

Mode How viewers enter
Predefined Command Type !play, !draw, or !hype in chat
Custom Command Type whatever command you set (e.g. !win)
Type Anything Any message in chat counts as an entry

Duplicate Entry Handling

Dual-Platform Entry

If both Twitch and Kick are connected, and "Allow same user on both Twitch & Kick" is enabled, a viewer can enter from both platforms. Each entry is tracked separately with its platform badge.

You can also allow winners to claim from any platform, or require confirmation on the platform their winning entry came from.


Prize Management

Setting a Prize

Type a prize name in the prize input box and click SET.

Prize Dropdown

Click the dropdown arrow next to the prize input to see:

SET / OPEN Shortcut

Click SET / OPEN to set the current prize AND open entry collection in a single click.

Prize Notepad

The Prize Notepad is a full-featured prize management dialog. Click the Notepad button on the main window to open it.

Prize Lists - Multiple named prize lists can be created, renamed, and deleted - The active list is shown at the top and persists between sessions - Switch between lists instantly using the list selector

Managing Items - Add — Type a prize and click Add Item, or press Enter - Edit — Double-click a prize or right-click → Edit - Duplicate — Right-click → Duplicate to copy an item - Delete — Select items and click Remove, or press Delete key - Undo — After deleting, a toast bar appears — click it to undo - Move — Right-click → Move Up / Move Down to reorder

Batch Operations - Sort A-Z — Sorts prizes alphabetically (click again for Z-A) - Clipboard (Replace) — Pastes clipboard contents, replacing the entire list - Clipboard (Append) — Adds clipboard contents to the existing list - Import — Load prizes from a .txt file (one per line) - Export — Save prizes to a .txt file

Search - Type in the search field to filter prizes in real time - The count updates to show matching results

Prize Expansion When adding prizes, you can use quantity notation:

PLEX (x3) (CCP)

This expands to three entries: PLEX (CCP), PLEX (CCP), PLEX (CCP).

Keyboard Shortcuts (within Notepad) | Key | Action | |-----|--------| | Ctrl+I | Import from file | | Ctrl+E | Export to file | | Ctrl+F | Focus the search field | | Ctrl+A | Select all items | | Delete | Remove selected items |

Common Prizes

Common prizes are special prizes that are not automatically removed from the list when won. This is useful for prizes you give away repeatedly (e.g., PLEX, skill injectors).

Manage common prizes in Options → Prizes under the "Common Giveaway Prizes" section.

Random Prize Behaviour

When using "🎲 RANDOM PRIZE 🎲":

Tip: Random Prize mode also triggers a special prize reveal animation before the winner draw.


Animation System

When you draw a winner, RustyBot plays a flashy animation in the main display area.

Available Styles

Configure in Options → Draw Style → Draw Style Type:

Animation What it looks like
Hacking Matrix-style code boxes cycle through characters, then reveal the winner
Triglavian Translation EVE-themed glyph boxes scan and decode to show the name
Node Path Reveal Lights travel along connecting nodes to spell out the winner
Triglavian Conduit Energy pulses through conduits and reveals the winner
Triglavian Code Reveal Scrolling code columns with participants, eliminates down to the winner
Neon Encrypted Neon glow effects with encryption-style decoding
Neural Interface Decode Network-node style animation
Random Picks a different animation every time

Speed Settings

Each animation has its own speed control in Options → Draw Style → Speed Settings:

Animation Speed Options
Hacking Normal, Slow, Very Slow
Triglavian Translation Fast, Normal, Slow
Node Path Reveal Normal, Slow, Very Slow
Triglavian Conduit Fast, Normal, Slow
Triglavian Code Reveal Fast, Normal, Slow

Triglavian Code Reveal Settings

For the Triglavian Code Reveal animation, additional options are available:


Sound System

RustyBot has a multi-channel sound system. Configure in Options → Sound.

Volume Controls

Channel Default Controls
Master Volume 75% Overall volume for all sounds
AI Voice 70% Voice announcements
Warning Sounds 60% Alert and warning sounds
Hacking Background 20% Ambient hacking sounds during animations
Countdown 60% Confirmation timer countdown tick
Timer Expire 200% "Pod alarm" sound when timer expires (boosted for impact)

Confirmation Timer Sounds

During the winner confirmation countdown, escalating sounds play at specific thresholds:

This creates a sense of urgency as time runs out.


Themes

RustyBot includes 13 visual themes. Configure in Options → Layout → Color Theme.

Theme Description
Dark (Default) Dark grey background, yellow accents
Cyberpunk Deep blue-purple with neon green and pink
EVE Online Dark space theme with blue accents
Christmas Dark green with red accents and falling snow effect
Nord Arctic blue-grey palette
Sunset Warm orange and brown tones
Ocean Deep blues with cyan highlights
Matrix Black background with green Matrix-style text
Minmatar Earthy red-brown EVE tribe theme
Gallente Teal-green EVE faction theme
Caldari Steel-blue EVE corporation theme
Amarr Golden-brown EVE empire theme
High Contrast Maximum readability with high contrast colours

Note: The theme preview updates immediately when you select a different option in the dropdown.


Panel Layout

RustyBot's UI panels can be rearranged to suit your stream layout.

Dragging Panels

Lock/Unlock

In Options → Layout:

Saving and Resetting

Font Size


Hotkeys

RustyBot supports configurable keyboard shortcuts for common actions.

Configure in Options → Hotkeys.

Enabling Hotkeys

  1. Check Enable hotkeys to activate the hotkey system
  2. Check Global hotkeys to allow hotkeys to work even when RustyBot is in the background

Assignable Actions

Action Default
Open/Close Draw (unassigned)
Select Winner (unassigned)
Abandon Draw (unassigned)
Purge List (unassigned)
Open Options (unassigned)

To assign a hotkey, click the input field next to an action and press the desired key combination (e.g., Ctrl+Shift+D).


EVE Online Integration

The !ign Command

When a winner is drawn, they type in chat:

!ign TheirCharacterName

RustyBot captures this and looks up the character through EVE's ESI API.

Important: EVE2Twitch integration requires the streamer to have the eve2twitch bot active in their channel. Viewers must also register their Twitch account at eve2twitch.space and link their EVE character name there. Without both sides set up, the bot cannot automatically find the winner's in-game name.

Auto-Lookup (EVE2Twitch)

If enabled in Options (default: on), RustyBot automatically checks the eve2twitch.space API to find the winner's EVE character name without them needing to type !ign.

The auto-lookup has configurable timeouts: - Auto-lookup Timeout (default: 10s) — How long to wait for the EVE2Twitch response - Quick ESI Timeout (default: 5s) — How long to wait for ESI data after auto-lookup

ESI Data Fetched

When an IGN is resolved, RustyBot fetches: - Character portrait (displayed in the info panel) - Corporation name - Alliance name (if applicable) - Character ID

IGN Grabber Panel

Click the IGN button on the main window to open the IGN Grabber panel.

This panel monitors chat for: - !ign <name> commands from viewers - EVE2Twitch bot responses

Results are displayed in a neat table with who said what, and you can copy IGNs with one click.

Clipboard Automation

When a winner's IGN is confirmed, it is automatically copied to your clipboard so you can paste it into your giveaway tracking, spreadsheet, or stream overlay.

IGN Database

IGNs are stored persistently in ign_database.json and are remembered across sessions. If a viewer has previously provided their IGN, it will be used automatically in future draws.


Jackpot Mode

Jackpot mode adds a suspenseful twist to your giveaways.

Enable in Options → Jackpot.

How It Works

  1. You configure trigger names — specific usernames that will trigger the jackpot
  2. When a draw happens, if one of those trigger names is selected as the winner:
  3. The bot plays a dramatic fake-out announcement building suspense
  4. A countdown or "reveal" sequence plays
  5. The real winner is revealed a few seconds later

Setup

  1. Go to Options → Jackpot
  2. Check Enable Jackpot Mode
  3. Add usernames to the Jackpot Trigger Names list
  4. Click Save

Tip: Use well-known community members, stream team members, or regulars as trigger names for maximum hype.


Ignore List

Certain users should never be eligible to win giveaways (e.g., bot accounts). RustyBot has an automatic and manual ignore system.

Auto-Ignored Users

The following bot accounts are automatically added to the ignore list and cannot win: - eve2twitch - rustybot - The_rusty_bot - TheRustyBot

Manual Entries

Add usernames manually in Options → Ignore List:

  1. Go to Options → Ignore List tab
  2. Type a username in the input field
  3. Click Add to Ignore List

Anyone on the ignore list will be rejected if they try to enter a giveaway.


Prize Polls

Prize Poll mode lets your chat vote on what prize to give away.

Setup

  1. Go to Options → Prizes
  2. Under "Poll Settings", set the Poll Duration (how long chat has to vote)
  3. Go to Options → General → Entry Settings
  4. Set Prize Selection Mode to Twitch Chat Poll

How It Works

  1. When you open a draw, a poll starts automatically
  2. Chat types their vote for which prize they want
  3. When the poll duration expires, the most-voted prize is set
  4. The draw proceeds normally with the winning prize

Note: Prize Poll mode uses your configured prize list as the voting options.


History & Leaderboard

All giveaway results are tracked automatically and persist between sessions.

History

The History tab shows every win with: - Date and time - Winner's chat username - Prize won - EVE character name (if resolved)

Leaderboard

The Leaderboard tab shows: - Usernames ranked by number of wins - Total win count per user

Data is stored in history.json and carries over between sessions automatically.


Custom Chat Messages

All chat messages that the bot sends can be customised in Options → General → Chat Messages.

Placeholders

Use these placeholders in your messages — they will be replaced with actual values:

Placeholder Replaced With
{winner} The winner's chat username
{prize} The current prize name
{ign} The winner's EVE character name
{timeout} The confirmation timeout duration

Messages You Can Customise

Message Default
Confirmation Prompt "Congrats @{winner}! You won: {prize}! Type anything in chat within {timeout}s to confirm!"
Auto Lookup Attempt "@{winner} confirmed! Attempting automatic EVE2Twitch lookup..."
Auto Lookup Failed "@{winner} confirmed! Could not validate IGN automatically. Type !ign in chat."
Awaiting IGN "@{winner} confirmed! Please type !ign in chat with your character name."
IGN Found "@{winner} — IGN verified: {ign}. Congratulations!"

Troubleshooting

Issue Solution
"Cannot open draw — no prize set" Type a prize or select one from the dropdown, then click SET
"Bot is not connected" Wait for the bot to connect, or check Twitch credentials in Options
"No participants to draw from" Make sure viewers are typing the join command (!draw) in chat
Winner didn't confirm in time Click START DRAW again to pick a new winner from remaining entries
Animation stuck or not showing Click ABANDON DRAW, then try again. If persistent, restart the app
"No IGN found" for winner Ask the winner to type !ign <character name> in chat
UI panels not where you want them Go to Options → Layout → Reset Panel Positions
Animation is slow or choppy Try a simpler animation (Hacking box), lower the speed setting, or close other GPU-heavy programs
EVE lookup failed The auto-lookup has a 10s timeout. Winner may not be registered on eve2twitch. Ask them to type !ign manually
Kick won't connect Use the Auth with Kick button in Options → General to re-authenticate OAuth
App won't start Check rustybot_fault.log in the install folder for error details

Quick Reference

Button Reference

Button When to Click What It Does
SET Before draw Sets the prize from the input field
OPEN DRAW / CLOSE DRAW Before/after collecting Opens or closes entry collection
SET / OPEN Before draw Sets prize AND opens draw in one click
START DRAW When entries are collected Closes entries, selects winner, plays animation
ABANDON DRAW During animation/confirmation Cancels everything, resets to IDLE
PURGE LIST After a draw Clears all remaining participants
IGN Any time Opens the IGN Grabber panel
Notepad Any time Opens the Prize Notepad
Options Any time Opens the configuration dialog

Keyboard Shortcuts

Key Action
Ctrl+I Import prizes from file (Notepad)
Ctrl+E Export prizes to file (Notepad)
Ctrl+F Focus search field (Notepad)
Ctrl+A Select all items (Notepad)
Delete Remove selected item (Notepad)
Hotkeys (F1-F12 / Ctrl+combos) Configurable in Options → Hotkeys

If you would like to support RustyBot development you can do that via Ko-fi or via ISK.

Send ISK to IGN "Virxens"

All support is welcomed and very appreciated!


*RustyBot is an unofficial EVE Online tool, not affiliated with CCP Games.*