A modular IRC bot with extensive aliasing capabilities, written in Python.
- In part inspired by https://github.com/ElementalAlchemist/txircd
 - Uses some code from txircd, which is used under its BSD license.
 
- Alias any of the following to create new commands on-the-fly, and then alias those aliases to create even more
 - Use Slurp to extract data from HTML/XML
 - Use Jostle to extract data from JSON
 - Use Sub or Chain to link multiple modules together
- and use Var to store data for use within the same command (eg, a URL you want to slurp multiple times)
 
 - Follows URLs posted in chat to see where they lead (following all redirects), responding with the page title and final hostname
- with specialised follows to get extra relevant information from Imgur, KickStarter, Steam, Twitch, Twitter, and YouTube links
 
 - Recognizes sed-like patterns in chat and replaces the most recent match in the last 20 messages
 - Also recognizes 
*correctionstyle corrections and replaces the most likely candidate word in that user's previous message - AutoPaste detects when single responses are longer than ~2 IRC messages, and submits them to a pastebin service instead, replacing the response with a link
 - Consistent help for any module via the Help module
 - And many more (take a look in modules)
 
All of these features can be individually enabled/disabled by loading or unloading the module that provides them
- Install Python 3+
 - Clone the repo with 
git clone https://github.com/DesertBot/DesertBot.git - Create a virtualenv to run the bot in, and activate it
 - Run 
pip install -r requirements.txtto install all the requirements - Edit _defaults.yaml to set the bot owner and other details
 - Copy server.yaml.example and create a server config (you'll want one of these per IRC network)
 
Activate your virtualenv, and run python start.py -c configs/server.yaml
You can run python start.py -h for help with the command line args
This could be streamlined a bit more, but for now:
- Clone the repo with 
git clone https://github.com/DesertBot/DesertBot.git - Edit _defaults.yaml to set the bot owner and other details
 - Copy server.yaml.example and create a server config (you'll want one of these per IRC network)
 - Copy docker-compose-example.yml to docker-compose.yml and edit in the config file you created above
 docker-compose up -d desertbot-server