Overview
The text file method allows you to batch process multiple removal operations from a single file. This is the most efficient way to clean up badges from multiple sources at once, and is particularly powerful when combined with downloaded spam lists.Text files support mixed URL types - you can include games, users, groups, and even individual badges all in one file.
Supported URL Formats
DBR recognizes three types of Roblox URLs in text files:| Type | URL Format | What It Does |
|---|---|---|
| Badge | https://www.roblox.com/badges/12345 | Removes the specific badge if you own it |
| Game | https://www.roblox.com/games/12345 | Removes all badges from that game |
| User | https://www.roblox.com/users/12345 | Removes all badges from all games by that user |
The
www. prefix is optional. URLs with or without it will work correctly.Creating a Text File
https://www.roblox.com/games/606849621
https://www.roblox.com/users/5201234
https://www.roblox.com/badges/2124819458
https://www.roblox.com/games/789456123
Example Text File
Here’s a complete example showing mixed URL types:badges_to_remove.txt
Comments (lines starting with
#) and blank lines are ignored.Example Output
Working with Downloaded Lists
DBR can download and process pre-made spam lists:MGS Invalid Games List
Badge Spam Lists
This downloads multiple categorized lists from exurd/badge-spam-lists.
Advanced File Formats
Zstandard Compressed Files
DBR supports.txt.zst compressed files:
Requires the
zstandard Python library to be installed.Mixed Content Files
Combine different removal types in one file:comprehensive_cleanup.txt
Tips & Best Practices
Start Small
Test with a small file first to ensure everything works correctly before processing large lists.
Use Comments
Add comments with
# to organize your file and explain what each section contains.Cache Efficiency
The checked places cache prevents duplicate processing across multiple runs.
Review MGS Lists
Always review MetaGamerScore lists before processing - they may include legitimate games.
Performance Optimization
Increase Thread Count
Speed up badge deletion:Custom Cache Directory
Use a dedicated cache directory for large operations:Split Large Files
For extremely large lists, split into smaller chunks:How DBR Processes Each URL Type
Badge URLs
- Extracts badge ID:
2124819458 - Checks if you own the badge
- Removes it if owned
- Skips if not owned
Game URLs
- Extracts place ID:
606849621 - Checks cache for previous processing
- Runs full place removal if not cached
- Adds to cache when complete
User URLs
- Extracts user ID:
5201234 - Fetches all user’s public games
- Processes each game individually
- Respects cache for each place
Troubleshooting
”text file is empty or unreadable”
Cause: File doesn’t exist, is empty, or has encoding issues. Solution: Verify file path and ensure it contains valid URLs with UTF-8 encoding.URLs Not Being Recognized
Cause: URL format doesn’t match expected pattern. Solution: Ensure URLs follow these formats:https://www.roblox.com/games/[ID]https://www.roblox.com/users/[ID]https://www.roblox.com/badges/[ID]https://www.roblox.com/groups/[ID]
Processing Takes Forever
Cause: Large lists with many user/group URLs create cascading requests. Solution:- Use
--delete-threadsto increase parallelism - Process in smaller batches
- Monitor progress and let it run overnight if needed
Some Badges Not Removed
Cause: You may not own those badges, or they were already deleted. Solution: This is normal. DBR only removes badges you actually own.Creating Custom Lists
Inventory Scanner Output
Use the inventory scanner to generate a custom list:found_places.txt and found_badges.txt which can be used directly:
Combining Multiple Lists
Merge multiple lists into one:Deduplicating Lists
Remove duplicate URLs:Related Methods
- Remove by Place - Single game removal
- Remove by User - All games from a user
- Remove by Group - All games from a group
- MetaGamerScore Integration - Using MGS invalid game lists
Source Code Reference
The text file processing logic is implemented indelete_from_text_file() at remover.py:431.
URL pattern matching uses regex at remover.py:21:

