Skip to content

RoboBetBot v1.2.0

Choose a tag to compare

@yzRobo yzRobo released this 25 Aug 20:57
· 8 commits to main since this release

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:

  1. Emoji Method (NEW) - Click emojis directly on the bet message
  2. Command Method - Use traditional /bet resolve or /bet cancel commands
  • 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

  1. When a bet becomes active, the bot adds 🅰️, 🅱️, and ❌ emojis
  2. Both players click the emoji matching the winning side
  3. Bot automatically resolves and calculates payouts
  4. Instant confirmation message with results

Cancelling Active Bets with Emojis

  1. Both players click the ❌ emoji on an active bet
  2. Bot confirms both parties agree
  3. 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.js with enhanced reaction handling
  • Added resolutionTracking Map 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 -d

Portable Users

Download the new release and replace files (keep your .env and bets.db)

Source Users

git pull origin main
npm install
npm start

Statistics

  • 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