Skip to content

Dropout54/BINGOTRACKER

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

6 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

BINGO Tracker

A comprehensive Old School RuneScape (OSRS) bingo tracking system that integrates:

  • ๐ŸŽฏ Bingo Board Management - Track team progress on custom bingo tiles
  • ๐Ÿ“ฑ Discord Webhooks - Real-time notifications for drops and completions
  • ๐Ÿ“Š Wise Old Man Integration - Automatic experience and achievement tracking
  • ๐Ÿ‘ฅ Team Competition - Multi-team leaderboards and statistics
  • ๐ŸŽฎ RuneLite Plugin - In-game drop detection and tile tracking

Features

๐ŸŽฏ Bingo Board Tracking

  • Create custom bingo boards with configurable tiles
  • Track tile completion per team
  • Support for item drops, experience goals, boss kills, and more
  • Proof submission with image URLs
  • Real-time board updates

๐Ÿ“ฑ Discord Integration

  • Automatic drop notifications with rich embeds
  • Tile completion announcements
  • Team leaderboard updates
  • Configurable webhook URLs for different channels

๐Ÿ“Š Wise Old Man Integration

  • Automatic tracking of experience gains
  • Boss kill count monitoring
  • Achievement detection
  • Competition tracking
  • Scheduled player updates

๐ŸŽฎ RuneLite Plugin

  • In-game drop detection
  • Automatic screenshot capture
  • Configurable drop filters (rarity, value)
  • Whitelist/blacklist support
  • Direct integration with backend server

๐Ÿ‘ฅ Team Features

  • Multi-team competition support
  • Team-specific tracking and leaderboards
  • Individual player contributions
  • Points system with configurable values

Project Structure

BINGOTRACKER/
โ”œโ”€โ”€ backend/                    # Python Flask API server
โ”‚   โ”œโ”€โ”€ enhanced_server.py     # Main server with all integrations
โ”‚   โ”œโ”€โ”€ discord_webhook.py     # Discord webhook handler
โ”‚   โ”œโ”€โ”€ wise_old_man.py        # Wise Old Man API client
โ”‚   โ”œโ”€โ”€ requirements.txt       # Python dependencies
โ”‚   โ””โ”€โ”€ .env.example          # Environment configuration template
โ”‚
โ”œโ”€โ”€ frontend/                   # React web application
โ”‚   โ”œโ”€โ”€ src/
โ”‚   โ”‚   โ”œโ”€โ”€ components/        # React components
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ Dashboard.js   # Main dashboard with stats
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ BoardView.js   # Bingo board display
โ”‚   โ”‚   โ”‚   โ”œโ”€โ”€ BoardTile.js   # Individual tile component
โ”‚   โ”‚   โ”‚   โ””โ”€โ”€ Teams.js       # Team management
โ”‚   โ”‚   โ””โ”€โ”€ routes/
โ”‚   โ”‚       โ””โ”€โ”€ bingo.jsx      # Bingo board route
โ”‚   โ”œโ”€โ”€ package.json           # Node dependencies
โ”‚   โ””โ”€โ”€ .env.example          # Frontend configuration
โ”‚
โ”œโ”€โ”€ runelite-plugin/           # RuneLite plugin for OSRS
โ”‚   โ”œโ”€โ”€ src/main/java/com/bingotracker/
โ”‚   โ”‚   โ”œโ”€โ”€ BingoTrackerPlugin.java    # Main plugin class
โ”‚   โ”‚   โ””โ”€โ”€ BingoTrackerConfig.java    # Plugin configuration
โ”‚   โ”œโ”€โ”€ build.gradle           # Gradle build file
โ”‚   โ””โ”€โ”€ runelite-plugin.properties     # Plugin metadata
โ”‚
โ””โ”€โ”€ docs/                      # Documentation
    โ”œโ”€โ”€ SETUP.md              # Setup instructions
    โ”œโ”€โ”€ API.md                # API documentation
    โ””โ”€โ”€ CONFIGURATION.md      # Configuration guide

Quick Start

Prerequisites

  • Python 3.8+
  • Node.js 14+
  • Java 11+ (for RuneLite plugin)
  • MongoDB (optional, for persistent storage)

Backend Setup

  1. Navigate to the backend directory:
cd backend
  1. Install Python dependencies:
pip install -r requirements.txt
  1. Copy and configure environment variables:
cp .env.example .env
# Edit .env with your Discord webhooks, WOM group ID, etc.
  1. Run the server:
python enhanced_server.py

The server will start on http://localhost:5000

Frontend Setup

  1. Navigate to the frontend directory:
cd frontend
  1. Install Node dependencies:
npm install
  1. Copy and configure environment variables:
cp .env.example .env
# Edit .env with your API URL
  1. Start the development server:
npm start

The frontend will open at http://localhost:3000

RuneLite Plugin Setup

  1. Navigate to the plugin directory:
cd runelite-plugin
  1. Build the plugin:
./gradlew build
  1. Install in RuneLite:

    • Open RuneLite
    • Go to Plugin Hub or External Plugins
    • Load the built JAR file from build/libs/
  2. Configure the plugin:

    • Set your server URL
    • Enter your board name and team name
    • Add Discord webhook URLs (optional)
    • Configure drop filters

Configuration

Discord Webhooks

Create Discord webhooks for your channels:

  1. Go to Server Settings โ†’ Integrations โ†’ Webhooks
  2. Create New Webhook
  3. Copy the webhook URL
  4. Add to .env file in backend

Wise Old Man Setup

  1. Create a group on Wise Old Man
  2. Add your clan members to the group
  3. Copy your group ID from the URL
  4. Add to .env file: WOM_GROUP_ID=your_id

Google Sheets Integration (Optional)

For clan events functionality:

  1. Create a Google Sheets API key
  2. Create a public spreadsheet with event data
  3. Add credentials to .env file

API Endpoints

Boards

  • POST /api/boards - Create a new bingo board
  • GET /api/boards/<name> - Get board data
  • PUT /api/boards/<name>/tiles/<row>/<col> - Update tile

Drops

  • POST /api/drops - Record a player drop
  • GET /api/stats/drops - Get drop statistics

Players

  • GET /api/players/<username>/stats - Get player stats from WOM
  • GET /api/players/<username>/gains - Get player gains
  • POST /api/players/<username>/update - Update player stats

Leaderboard

  • GET /api/leaderboard/<board_name> - Get team leaderboard

See docs/API.md for full API documentation.

Integration Details

PattyRich/github-pages Integration

  • Bingo board UI components
  • Tile management system
  • Team tracking interface
  • React component library

BossHuso/discord-rare-drop-notificater Integration

  • Drop detection logic
  • Discord webhook formatting
  • Screenshot capture
  • Rarity/value filtering

cmsu224/clan-events Integration

  • Event management framework
  • Google Sheets connectivity
  • Competition tracking
  • Member roster management

Credits

  • PattyRich - Bingo board UI and tracking system
  • BossHuso - Discord drop notification framework
  • cmsu224 - Clan events and competition management
  • Wise Old Man - Player statistics API
  • RuneLite - OSRS client and plugin framework

About

No description, website, or topics provided.

Resources

Security policy

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •