Skip to content

OpenTTD/DorpsGek

Repository files navigation

DorpsGek

GitHub License

DorpsGek is an IRC bot with several tasks:

  • It bridges GitHub Events to IRC
  • It handles channel moderation (@op, @kick, ..)
  • It shows when someone was last seen (@seen)
  • It logs channels for backlog reading

Development

This server is based on Limnoria. Because of many issues and shortcomings in Limnoria, there are some quirks in this codebase. For example, configuration is generated by the dorpsgek module, as otherwise it is nearly impossible to bring secrets inside the bot without storing them inside the git repository.

It is build and tested with Python 3.8.

Running a local server

Dependencies

  • Python3.8 or higher.

Preparing your venv

To start it, you are advised to first create a virtualenv:

python3 -m venv .env
.env/bin/pip install -r requirements.txt

Starting a local server

You can start the HTTP server by running:

.env/bin/python -m dorpsgek --port 8000 --channel dorpsgek-test

This will start the IRC bot and it will join #dorpsgek-test on OFTC. See --help for further configuration. Although you can start supybot DorpsGek-generated.conf, we strongly suggest to always use the dorpsgek module as bootstrap for starting the bot.

Running via docker

docker build -t openttd/dorpsgek:local .
docker run --rm -p 127.0.0.1:8000:80 openttd/dorpsgek:local

About

DorpsGek is an IRC bot, that for example bridges GitHub events to IRC.

Resources

License

Stars

Watchers

Forks