https://github.com/django/ticketbot
Django's IRC ticketbot. Linkifies tickets and changesets. Hangs out in #django and #django-dev.
https://github.com/django/ticketbot
Last synced: 4 months ago
JSON representation
Django's IRC ticketbot. Linkifies tickets and changesets. Hangs out in #django and #django-dev.
- Host: GitHub
- URL: https://github.com/django/ticketbot
- Owner: django
- License: bsd-3-clause
- Created: 2011-10-06T06:17:32.000Z (over 13 years ago)
- Default Branch: main
- Last Pushed: 2024-03-03T16:26:23.000Z (over 1 year ago)
- Last Synced: 2025-01-29T11:52:10.729Z (4 months ago)
- Language: Python
- Size: 24.4 KB
- Stars: 18
- Watchers: 26
- Forks: 17
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# ticketbot -- The Django development helper IRC bot
This is the bot which replaces the following types of mentions with their URLs:
* `"#nnnnn"` -- Django Trac's ticket #nnnnn
* `"!nnnn"` or `"PRnnnn"` -- Pull request nnnn submitted to the django/django GitHub repo
* `"hhhhhhh"` (7 or more chars) -- Commit with ID hhhhhhh in the django/django GitHub repo## Local setup
1. Create a virtualenv making sure you use the same Python version as the one specified to Heroku in `runtime.txt`:
$ curl https://raw.githubusercontent.com/django/ticketbot/master/runtime.txt
python-3.7.22. Once you've created and activated the virtualenv, install project dependencies:
$ pip install -r requirements.txt
## Configuration
It needs the following env vars:
* `NICKSERV_PASS` -- The bot's user password
* `NICKSERV_USER` -- The bot's username
* `IRC_HOST` -- The IRC server hostname to connect to
* `IRC_PORT` -- The IRC server port to connect to
* `CHANNELS` -- A comma-separated list of channels it will auto-join toExample, for running it locally:
$ export NICKSERV_PASS=password
$ export NICKSERV_USER=username
$ export IRC_HOST=irc.libera.chat
$ export IRC_PORT=6697
$ export CHANNELS=#django-social,#django,#django-dev,#django-sprint
$ python ticketbot.py## Tests
There are some test cases for the text matching code. You can run them with:
$ python -m unittest tests.py