A modular IRC bot with extensive aliasing capabilities, written in Python.
Initially a language port/rewrite of MoronBot (C#), but now somewhat diverged.
- Alias any of the following to create new commands on-the-fly, and then alias those aliases to create even more
- Use Slurp and JQ to extract data from HTML/XML or 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
*correction
style corrections and replaces the most likely candidate word in that user's previous message - AutoPasteEE detects when single responses are longer than ~2 IRC messages, and submit them to paste.ee instead, replacing the response with a link
- Consistent help for any module via the Help module
- And many more (take a look in Commands and PostProcesses)
All of these features can be individually enabled/disabled by loading or unloading the module that provides them
- Install Python 2.7+
- Clone the repo with
git clone https://github.com/MatthewCox/PyMoronBot.git
- Create a virtualenv to run the bot in, and activate it
- Run
pip install -r requirements.txt
to install all the requirements - Edit GlobalVars.py to set admins, and some less important stuff (this will be changing to a proper config file at some point)
Activate your virtualenv, and run python moronbot.py -s server.address -c \#channel
You can run python moronbot.py -h
for help with the command line args