birdvirus-bot β a discord.py hybrid command bot with economy, jobs, voice, AI chat, and moderation.
ECONOMY
/pure chance
Double-or-nothing coinflip.
/pure blackjack
Interactive blackjack with hit/stand buttons, dealer AI, 1.5x natural.
/pure slots
3-reel slots with 7 symbols (πππππ7οΈβ£), up to 15x payout.
/pure roulette
Color/range (2x) or exact number (36x), animated spin sequence.
/pure insaneroll
d20 with escalating stakes β 1 = lose 5x, 20 = win 20x. Can drain bank on
critical failure.
/pure birdvirus
Detective minigame: 5 birds, some infected. Inspect each bird's location
history and diet, then guess how many are infected. 5x multiplier.
/pure plinko
8-row plinko board with animated ball path. Slots: 15x, 5x, 2x, 0.5x, 2x,
5x, 15x.
/pure horse
Pick from 5 horses with different odds (2x-5x). Each has min/max roll per
tick. Animated progress bar race with stumble/sprint mechanics.
/beg
90% success rate, earns 1-15 coins. 30s cooldown.
/fish
Weighted loot table: 60% common (5-15), 25% blowfish (20-40), 5% shark
(100-200), 10% old boot (0). 45s cooldown.
/balance [user]
Shows holding balance, bank balance, and total. Bank earns interest.
/deposit
Move coins from holding to bank.
/withdraw
Move coins from bank to holding.
/eatbomb
Spend 10 coins. 30% chance to digest (+25), 70% chance to explode (-20).
JOBS
6 jobs, each with a unique interactive minigame, level system (XP = level * 100),
random events (15% chance per shift), and speed-based pay multiplier (0.1x-3x).
janitor β free, 5m cd β find the poop emoji among 9 tiles
chef β 1500, 10m cd β order recipe ingredients from shuffled list
developer β 2500, 15m cd β pick correct code snippet from 4 options
hacker β 5000, 30m cd β crack 3-digit PIN with mastermind feedback
miner β 3500, 20m cd β 5x5 grid, find π avoid π₯, 3 picks
thief β 4000, 20m cd β push-your-luck through 4 stages, escalating risk
Commands:
/job list β show all jobs with pay, requirements, descriptions
/job info β show your current job, level, XP, title, shifts
/job apply β apply for a job (pays license fee)
/job work β start your shift (launches minigame)
/job quit β quit your current job
/job beg β 35% to skip cooldown early (120s cd, may extend break)
VOICE / AUDIO
/vc join β join your current voice channel
/vc leave β leave (joiner, admin, or bot dev only)
/vc stop β stop playback and clear queue
/vc bird β play bird virus sound instantly
/vc droid β queue droid.mp3
/stop β alias for /vc stop
/play [link] [file] β play from YouTube, direct URL, or uploaded file
/bad apple [max] β queue Bad Apple (60 coins normal, 1000 for max volume)
/tts
- Custom per-guild FIFO audio queue
- PCMVolumeTransformer at 0.60 volume (1.0 for badapple_max)
- voice announcer: background loop every 15s, 80% chance to play bird sounds
in all connected VCs
- "67" trigger: any message containing "67" while bot is in VC has 50%
chance to queue a bird sound
================================================================================
AI / UTILITY
================================================================================
/chat
Gemini 3.1 Flash Lite. Persona: casual lowercase Discord girl named birdvirus,
no punctuation, hates LARPers. Reads last 10 messages for context. Has an
"ignore" function call to stay silent.
/chat_reset
Wipes AI context for the channel.
/ping β pong :p
/version β shows bot version + host
/gif β random GIF from curated list (can reply to replace a message)
/say
Makes the bot say a message. Logged in say_logs. Trigger message deleted.
/internet search
Headless Chromium screenshots DuckDuckGo results, sends to Gemini for
a casual summary.
/numbairy <encode|decode>
- Dual ban system: both file-based (banned_users.txt) and DB-based, checked at
prefix commands, slash commands, and on_message
- Nightly/dev bot mode: ht! prefix, separate DB, bypasses economy balance checks
- DM fallback: ctx.send and ctx.reply monkeypatched to auto-fallback to DMs
on discord.Forbidden
- AutoShardedBot with custom activity ("{prefix} β’ hosted by {host}")
- SQLite3 with all DB calls wrapped in asyncio.to_thread
- is_admin() decorator checks hardcoded owner IDs + DB admin_ids config +
guild administrator permission
- Bot devs: 8 hardcoded owner IDs