Modular IRC-bot written in C++
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.


Horo is a modular IRC bot written in C++.
It is extremely fast, lightweight (takes only 2MiB of RAM) and extendable


  • libpcre-dev for regexp handling
  • python-dev (at least 2.7) for python modules


Script builds and runs Horo. Don't forget to declare host and port. Also make your changes in config file.

###Running### Horo makes many processes with fork(). You can watch for processes with ps cx command in your terminal. Typical output of this command with explanation:

1237 pts/9    S+     0:00 horo             | main process
1246 pts/9    S+     0:00 horo:c/  | process that calls core-module with a time interval
1250 pts/9    S+     0:00 horo:m/    | process that waits for a response from standart module
1253 pts/9    S+     0:00 horo:e/   | process that waits for a response from module called by an event
1255 pts/9    S+     0:00 horo: url title  | process that gets title from an URL


Modules are all written in Python. You can see a typical module structure in file modules/
Modules repository

Put all modules, except modules from core directory, to the modules directory.
Core-modules are called every x seconds. For each of core-module you need an entry in mod.conf in a format:

/path/to/ time_in_seconds.

Put modules from repo's core directory into the horo's core directory and change variables CHANNEL in modules source code.
You can retrieve list of loaded modules by %lsmod command on any channel.
Documentation for any module can be retrieved by: horo: <module_name> --help/-h

Why Horo?