A RuneLite plugin for tracking items in bingo events with anti-cheat features, Discord integration, and profile management.
We've added a team system that allows players to collaborate on bingo events:
- Team Creation: Create a team and share the team code with other players
- Team Joining: Join an existing team using a team code
- Shared Progress: See items obtained by team members on your bingo board
- Item Sharing: Automatically share items you obtain with your team
- Item Importing: Automatically import the team leader's bingo items when joining a team
- Profile Integration: Team settings are stored with each profile, allowing participation in multiple teams
We've made several important improvements to the profile system:
- Fixed Item Persistence: Corrected issues with saving and loading items when switching profiles
- Enhanced Profile Switching: Items are now properly saved before switching to another profile
- Improved Profile Deletion: Added ability to delete the current profile by automatically switching to another profile first
- Better Error Handling: Added proper validation to prevent deleting the last remaining profile
- Bingo Board: Track up to 25 items in a 5x5 grid
- Item Source Options: Load items manually or from a remote URL (Pastebin)
- Progress Tracking: Save obtained items between sessions
- Discord Integration: Send notifications and screenshots to Discord
- Completion Notifications: Special notifications for completing rows, columns, or the entire board
- Anti-Cheat System: Robust verification of item acquisitions
- Profile System: Create and manage multiple bingo profiles for different events
- Team System: Collaborate with other players on bingo events
The plugin includes a comprehensive profile management system that allows players to participate in multiple bingo events simultaneously:
- Multiple Profiles: Create named profiles for different bingo events or challenges
- Easy Switching: Quickly switch between profiles from the main panel
- Independent Settings: Each profile maintains its own:
- Item list
- Obtained items
- Remote URL configuration
- Refresh interval
- Persistence settings
- Profile Management: Create new profiles, delete existing ones, and customize settings per profile
- Reset Option: Reset a profile's progress without affecting other profiles
The profile panel at the top of the bingo board allows you to:
- Select a profile from the dropdown menu
- Create a new profile with the "New" button
- Delete the selected profile with the "Delete" button
- Configure profile-specific settings with the "Settings" button
Each profile maintains its own item list, obtained items, and configuration settings.
When creating a new profile, you can set it up as a team profile:
- Click the "New" button next to the profile dropdown
- Enter a name for your profile
- Check "This is a team profile"
- Select "Team Leader" if you're creating a new team, or "Team Member" if you're joining an existing team
- For team leaders:
- Enter a name for your team
- Optionally, enter a Discord webhook URL for notifications
- Click "OK" to create the profile and generate a team code
- Share the generated team code with your team members
- For team members:
- Enter the team code provided by your team leader
- Optionally, enter a Discord webhook URL for notifications
- Click "OK" to create the profile and join the team
Items obtained by team members will be displayed in green on your bingo board.
The plugin includes a comprehensive anti-cheat system to ensure fair play in bingo events:
- Always Active: Item verification is always enabled and cannot be disabled
- Acquisition Tracking: Records detailed information about how items are obtained
- Verification Checks: Validates item acquisitions based on timing, location, and source
- Discord Verification: Sends acquisition logs to Discord for event organizers to verify
- Screenshot Capture: Takes screenshots when items are obtained for verification
The plugin has undergone significant refactoring to improve code organization and maintainability:
- Separated Anti-Cheat Logic: Moved all anti-cheat functionality to a dedicated
BingoAntiCheatclass - Discord Notification System: Extracted Discord webhook functionality to a
BingoDiscordNotifierclass - Improved Configuration: Removed toggles for anti-cheat features, making verification mandatory
- Enhanced Validation: Strengthened verification checks for item acquisitions
- Better Documentation: Added comprehensive documentation for all methods
- Profile Management System: Added support for multiple bingo profiles with independent settings
- Fixed Item Persistence: Corrected issues with saving and loading items when switching profiles
- Improved Profile Deletion: Enhanced the profile deletion process with better error handling
- Team System: Added support for team-based bingo events with shared progress
- Item Source: Choose between manual input or remote URL
- Bingo Items: List of items to track (when using manual input)
- Remote URL: URL to fetch bingo items from (supports Pastebin)
- Refresh Interval: How often to refresh remote items
- Save Progress: Save obtained items between sessions
- Send Screenshots: Send screenshots to Discord when obtaining items
- Discord Webhook URL: Discord integration for notifications
- Completion Notifications: Special notifications for completing rows, columns, or the board
- Verification Timeout: Maximum time between item acquisition and marking
- Current Profile: Select which profile to use
- Profiles: Create, delete, and manage multiple bingo profiles
- Team Features: Enable team collaboration for bingo events
- Team Code: Enter a team code to join an existing team
- Team Name: Set a name for your team
- Share Items with Team: When enabled, items you obtain will be shared with your team
- Import Leader's Items: When joining a team, import the team leader's bingo items
- Event Discord Webhook: Discord webhook for team notifications (optional)
- The plugin loads the bingo items from the configured source
- When an item is obtained in-game, the plugin records the acquisition details
- The anti-cheat system validates the acquisition based on configured rules
- If valid, the item is marked as obtained on the bingo board
- Notifications are sent to the player and Discord (if configured)
- The acquisition log is sent to Discord for verification
- If team features are enabled, team members are notified of the acquisition
The plugin is organized into several key classes:
BingoPlugin.java: Main plugin class that handles RuneLite integrationBingoAntiCheat.java: Handles anti-cheat verification and acquisition trackingBingoDiscordNotifier.java: Manages Discord webhook notifications and screenshot sharingBingoConfig.java: Configuration interface for the pluginBingoPanel.java: UI panel for displaying the bingo boardBingoItem.java: Represents an item on the bingo boardBingoProfileManager.java: Manages bingo profiles for multiple eventsBingoTeamManager.java: Manages team functionality for collaborative bingo events
- Enable the Plugin: Find "Bingo" in the plugin list and enable it
- Access the Panel: Click the Bingo icon in the side panel to open the bingo board
The plugin offers two ways to input bingo items:
-
Manual Input:
- Select "Manual Input" from the "Item Source" dropdown
- Enter item names in the "Bingo Items" text area.
- Example: `Dragon Scimitar;Abyssal whip;Armadyl hilt;"
-
Remote URL:
- Select "Remote URL" from the "Item Source" dropdown
- Enter a URL in the "Remote URL" field (supports Pastebin links)
- For Pastebin, you can use either the regular link or the raw link
- Set a refresh interval (in minutes) to automatically update items
To receive notifications when items are obtained:
- Create a Discord webhook in your server:
- Go to Server Settings > Integrations > Webhooks
- Create a new webhook and copy the URL
- Paste the webhook URL in the "Discord webhook URL" field
- Enable "Send Screenshots" to include game screenshots with notifications
- Save Progress: Enable to save which items you've obtained between sessions
- Refresh Interval: How often to check for updates from the remote URL (in minutes)
The bingo board displays up to 25 items in a 5x5 grid. Items you've obtained will be marked with a checkmark and displayed in green.
The profile panel at the top of the bingo board allows you to:
- Select a profile from the dropdown menu
- Create a new profile with the "New" button
- Delete the selected profile with the "Delete" button
- Configure profile-specific settings with the "Settings" button
Each profile maintains its own item list, obtained items, and configuration settings.
The team panel allows you to:
- Create a new team with the "Create Team" button
- Join an existing team by entering a team code and clicking "Join Team"
- See team progress in the team progress panel
Items obtained by team members will be displayed in blue on your bingo board.
The plugin automatically detects when you obtain an item on your bingo list through:
- NPC drops
- Collection log entries
- "Valuable drop" messages
When an item is obtained:
- It will be marked on your bingo board
- A game message will appear in your chat
- If configured, a notification with a screenshot will be sent to Discord
- If team features are enabled, team members will be notified
- Reset Board: Clears all progress (requires confirmation)
- Update from URL: Manually refreshes items from the remote URL (only visible in Remote URL mode)
-
Items Not Being Detected:
- Ensure the item name matches exactly (including spaces and capitalization)
- Some items may need to be detected through the collection log or chat messages
-
Remote URL Not Working:
- Verify the URL is accessible and contains a list of items
- For Pastebin, ensure the paste is public
- The plugin supports both regular and raw Pastebin URLs
-
Discord Notifications Not Sending:
- Verify the webhook URL is correct
- Ensure the webhook has permission to send messages in the channel
-
Team Features Not Working:
- Ensure the team code is entered correctly
- Verify the event Discord webhook URL is correct
- Make sure team features are enabled in the plugin settings
For best results, use the exact in-game name of items. The plugin will attempt to match items to their in-game IDs for better display.
To share a bingo board with others:
- Create a text file with one item per line
- Upload it to Pastebin or a similar service
- Share the URL with other players
- Each player can enter the URL in their Remote URL field
For players participating in multiple bingo events:
- Create a separate profile for each event
- Configure each profile with the appropriate item source
- Switch between profiles as needed without losing progress
- Use profile-specific settings to customize each bingo board
For clan events or competitions:
- Create a shared Discord channel with a webhook
- Have all participants use the same webhook URL
- Create teams and share team codes with team members
- Everyone will see notifications when any team member obtains an item
- Maximum of 25 items can be displayed on the bingo board
- Some complex items or activities may not be automatically detected
- Screenshots may not capture the entire game window in certain configurations
- Team progress is not synchronized automatically when you join a team - only new item acquisitions are shared
If you encounter issues or have suggestions for improvements, please report them on the plugin's GitHub repository or contact itsremiq on discord
Happy Scaping and good luck with your Bingo events!