Repository navigation
RoboBetBot v1.2.0
RoboBetBot v1.2.0
Emoji Resolution & Active Bet Cancellation
This release introduces emoji-based bet resolution and cancellation, making the betting experience significantly more user-friendly. Players can now resolve or cancel bets with simple emoji clicks instead of typing commands.
What's New
Major Features
Emoji-Based Resolution System
Active bets now display resolution emojis that both players can click to agree on outcomes:
🅰️ emoji indicates Side A wins🅱️ emoji indicates Side B wins- ❌ emoji cancels the bet by mutual agreement
- When both players click the same emoji, the action completes automatically
- No typing required - just click and done
Dual Resolution Methods
Players can choose their preferred method:
- Emoji Method (NEW) - Click emojis directly on the bet message
- Command Method - Use traditional
/bet resolveor/bet cancelcommands
- Both methods require consensus from both participants
- Mix and match - one player can use emoji, the other can use command
Resolution Tracking System
- Real-time vote tracking shows who voted for which outcome
- Status messages appear in chat: "Player X voted Side A wins, waiting for Player Y..."
- Bot maintains resolution state even if reactions are removed and re-added
- Clear visual feedback throughout the resolution process
Bug Fixes
Active Bet Cancellation Fixed
- Fixed critical bug that prevented cancellation of active bets
- Active bets can now be properly cancelled with mutual agreement
- Both emoji (❌) and command (
/bet cancel) methods work correctly - Pending bets still allow instant cancellation by creator
Improvements
Enhanced User Experience
- Automatic emoji addition to active bets for easy resolution
- Clearer status updates during resolution/cancellation process
- Improved bet embed footers with resolution instructions
- Better error messages for invalid actions
Performance Optimizations
- In-memory resolution tracking for faster response times
- Optimized reaction handling to reduce API calls
- More efficient consensus checking
How It Works
Resolving Bets with Emojis
- When a bet becomes active, the bot adds
🅰️ ,🅱️ , and ❌ emojis - Both players click the emoji matching the winning side
- Bot automatically resolves and calculates payouts
- Instant confirmation message with results
Cancelling Active Bets with Emojis
- Both players click the ❌ emoji on an active bet
- Bot confirms both parties agree
- Bet is cancelled with no money changing hands
Traditional Commands Still Available
/bet resolve bet_id:1 winning_side:A- Creates confirmation request/bet cancel bet_id:1- Creates cancellation request- Both players confirm with ✅ reaction
Technical Details
Code Changes
- Updated
commands.jswith enhanced reaction handling - Added
resolutionTrackingMap for state management - New functions:
handleEmojiResolution(),handleEmojiCancellation() - Fixed
handleCancelBet()to properly handle active bet cancellation
Compatibility
- Fully backward compatible with v1.1.0
- No database schema changes
- Existing bets continue to work normally
- All deployment methods (Portable, Docker, Source) supported
Migration Guide
From v1.1.0 to v1.2.0
No breaking changes - just update and restart:
Docker Users
cd RoboBetBot
git pull origin main
docker-compose down
docker-compose build --no-cache
docker-compose up -dPortable Users
Download the new release and replace files (keep your .env and bets.db)
Source Users
git pull origin main
npm install
npm startStatistics
- 3 new emoji reactions for resolution
- 2 resolution methods (emoji and command)
- 0 breaking changes
- 1 critical bug fixed
- 50% less typing required for bet resolution
Known Issues
- Emoji reactions may take a moment to appear on slower connections
- Users must have reaction permissions in the channel
- Emojis must be clicked one at a time (not spam-clicked)
System Requirements
No changes from v1.1.0:
- Node.js 16.9.0+ (Source installation)
- Discord.js v14
- SQLite3
- Docker 20.10+ (Docker deployment)
- Windows 10/11 (Portable version)
Credits
- Emoji resolution system designed and implemented by @yzRobo
- Thanks to the community for testing and feedback
Support
License
GPL-3.0 - Ensuring RoboBetBot remains free and open source forever.
Full Changelog: v1.1.0...v1.2.0