- Added hunt/feed duck mechanics (80% hunt, 20% feed) - Implemented persistent scoring system - Added channel control commands (\!stopducks/\!startducks) - Enhanced duck hunt with wrong action penalties - Organized bot structure with botmain.js as main file - Added comprehensive documentation (README.md) - Included 17 plugins with various games and utilities 🦆 Duck Hunt Features: - Hunt ducks with \!shoot/\!bang (80% of spawns) - Feed ducks with \!feed (20% of spawns) - Persistent scores saved to JSON - Channel-specific controls for #bakedbeans - Reaction time tracking and special achievements 🎮 Other Games: - Casino games (slots, coinflip, hi-lo, scratch cards) - Multiplayer games (pigs, zombie dice, quiplash) - Text generation (babble, conspiracy, drunk historian) - Interactive features (story writing, emojify, combos) 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
4.1 KiB
4.1 KiB
CancerBot - IRC Bot with Plugin System
An IRC bot for #bakedbeans on irc.libera.chat with a comprehensive plugin system and various games.
Quick Start
# Install dependencies
npm install
# Run the main bot
node botmain.js
Bot Configuration
- Server: irc.libera.chat:6667
- Nickname: cancerbot
- Channel: #bakedbeans
- Command Prefix: !
Main Files
botmain.js- Main bot file (run this one)complete_irc_bot.js- Alternative bot without debug featuresbot_template.js- Template for referenceplugin_template.js- Plugin development template
Duck Hunt Plugin (Enhanced)
The duck hunt game has been enhanced with a hunt/feed system for more engaging gameplay.
Game Mechanics
- 80% Hunt Ducks: Require
!shootor!bangto hunt - 20% Feed Ducks: Require
!feedto feed - Persistent Scores: Scores saved to
plugins/duck_hunt_scores.json - Reaction Time: Tracked for both hunting and feeding
- Wrong Action Penalties: Using the wrong command makes the duck flee
Commands
!shoot/!bang- Hunt aggressive ducks!feed- Feed hungry ducks!duckscore- Check your score!topducks- View leaderboard!duckstats- Show game statistics!stopducks- Stop duck spawning (bakedbeans only)!startducks- Resume duck spawning (bakedbeans only)
Duck Types
- Common: 🦆 Mallard (1pt), 🦢 Swan (2pts), 🪿 Goose (2pts)
- Rare: 🐧 Penguin (3pts), 🦜 Parrot (3pts), 🦉 Owl (4pts), 🦅 Eagle (5pts)
- Legendary: 🏆 Golden Duck (10pts), 💎 Diamond Duck (15pts), 🌟 Cosmic Duck (20pts)
Spawn Messages
- Hunt Ducks: "Quick, !shoot it!", "Someone !shoot it before it escapes!"
- Feed Ducks: "!feed it some bread!", "It looks hungry, !feed it!"
Other Games/Plugins
Casino Games (All with persistent scores)
- Coin Flip:
!flip- Bet on heads/tails - Hi-Lo:
!hilo- Guess if next card is higher/lower - Slots:
!slots- Spin the slot machine - Scratch Cards:
!scratch- Virtual scratch cards
Multiplayer Games
- Pass the Pigs:
!pigs- Multiplayer dice game - Zombie Dice:
!zombie- Multiplayer zombie brain collecting - Quiplash:
!quiplash- Answer prompts and vote
Text/Chat Plugins
- Babble:
!babble- Generate text from learned patterns - Story:
!story- Collaborative story writing - Emojify:
!emojify- Convert text to emojis - Conspiracy:
!conspiracy- Generate conspiracy theories - Drunk Historian:
!history- Historical "facts" with varying sobriety
Utility
- Basic:
!ping,!help,!time - Combo: Track message combos in channels
- Bot Reply: Responds to other bots
Admin Commands
!reloadplugins- Reload all plugins (megasconed only)
Plugin Development
See plugin_template.js for creating new plugins. Plugins support:
- Command registration
- Event handling (onMessage, etc.)
- Persistent storage
- Initialization and cleanup
Recent Changes
Duck Hunt Enhancements (Latest)
- Added hunt/feed mechanic (80% hunt, 20% feed)
- New
!feedcommand for feeding ducks - Wrong action penalties for immersion
- Persistent score storage
- Channel control commands (
!stopducks/!startducks)
Bot Structure Cleanup
- Renamed
debug_bot.jstobotmain.jsas main bot - Removed Windows Zone.Identifier files
- Organized file structure for clarity
Technical Notes
- Uses Node.js with net module for IRC connection
- SQLite3 for data persistence in some plugins
- Plugin system with hot-reloading capability
- Comprehensive error handling and logging
- Automatic reconnection on disconnect
File Structure
cancerbot/
├── botmain.js # Main bot file
├── complete_irc_bot.js # Alternative bot
├── bot_template.js # Bot template
├── plugin_template.js # Plugin template
├── plugins/ # Plugin directory
│ ├── duck_hunt_plugin.js
│ ├── coinflip_plugin.js
│ ├── [other plugins...]
│ ├── duck_hunt_scores.json
│ └── [other score files...]
├── package.json
└── README.md
Enjoy your holiday! 🦆🏖️