Skip to content

A modular IRC bot with extensive aliasing capabilities, written in Python.

License

Notifications You must be signed in to change notification settings

lunik1/DesertBot

 
 

Repository files navigation

DesertBot Build Status Docker Cloud Build Status Updates

A modular IRC bot with extensive aliasing capabilities, written in Python.

Features

  • 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 *correction style 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

Installation Instructions

  • 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.txt to 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)

Running the Bot

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

Docker Instructions

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

About

A modular IRC bot with extensive aliasing capabilities, written in Python.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 99.9%
  • Dockerfile 0.1%