A fully functional IRC bot for searching and managing XDCC file advertisements.
- XDCC Monitoring: Automatically parses XDCC advertisements from a monitored channel
- Search Commands: Multiple search commands (
.s,.search,!search) - Latest Entries: View newest additions with
.latest [keyword] - Admin Management: Add entries manually via
addcommand in admin channel - User Requests: Users can request files via
requestcommand - Color Coded: Beautiful color-coded messages using mIRC color codes
- Install Python dependencies:
pip install -r requirements.txt- Configure the bot by editing
config.json:- Set your IRC server details
- Configure channel names
- Set admin nicknames (optional)
Edit config.json to customize:
- IRC Server: Server address, port, SSL settings
- Channels:
xdcc_source: Channel to monitor for XDCC advertisementschat: Channel where users interact with the botadmin: Private channel for admin commands
- Admin Nicks: List of admin nicknames (empty = anyone in admin channel)
python3 bot.py- Connect to IRC server:
irc.rizon.net:6667 - Join the chat channel:
/join #xdcc-chat - Use commands like
.latest,.s keyword, etc.
See HOW_TO_JOIN.md for detailed instructions on connecting with various IRC clients.
.latest [keyword]- Show latest XDCC entries (optionally filtered by keyword).s <keyword>- Search for files.search <keyword>- Search for files!search <keyword>- Search for filesrequest <filename> | <description>- Request a file
add <filename> | <description>- Manually add a new XDCC entry
.latest anime
.s movie
.search documentary
request My Favorite Show | Season 1 Complete
The bot uses SQLite database (xdcc.db) to store:
- XDCC entries (filename, description, timestamp, source)
- User requests
The bot uses mIRC color codes:
- Green: Announcements and success messages
- Yellow: Filenames and search results
- Cyan: Info messages and separators
- Red: Error messages
- Pink: Requests
- The bot automatically parses XDCC advertisements from the source channel
- New entries are automatically announced in the chat channel with colors
- Rate limiting is applied to prevent flooding
- The bot supports reconnection on disconnect