retroBot
Python IRC Twitch bot module integrating twitchAPI and irc.
Installation
clone this repository
git clone https://github.com/retrontology/retroBot
install the dependencies
cd retroBot
pip install -r requirements.txt
install the module
python setup.py install
Overview
The bot is split into two main components: the retroBot.retroBot and the retroBot.channelHandler. These are designed as a base skeleton class to be subtyped.
retroBot.retroBot is the bot itself, a subtype derived from irc.bot.SingleServerIRCBot and controls the main thread.
A retroBot.channelHandler is created for each channel in the channels parameter passed to retroBot.retroBot constructor. One can also pass their own retroBot.channelHandler subtype to the retroBot.retroBot constructor via the handler parameter, which is ideal as the base handler class does nothing. The retroBot.retroBot instance, when started, passes messages to the respective channel handler instance in a new thread.
There is also the retroBot.config module which needs to be imported separately. This is a simple dict subtype that can save and load itself from a yaml file. I personally use it to supply the bots with the information they need to run, but it's not required.
Examples
There are a few examples in the examples directory
-
TwitchMarkov
A fork of TwitchMarkov written in retroBot. -
atton
A Twitch bot that sends a message in a channel when the channel goes live. -
twitchlogger
A Twitch bot that listens to selected channels and logs the messages to a pre-configured PostgreSQL database. -
test
The simplest bot that does nothing. Used as a test when developing.
Metadata
Release files for retroBot 0.3.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| retrobot-0.3.5.tar.gz | 23.4 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| retrobot-0.3.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 47.2 kB
Release files / retrobot-0.3.5.tar.gz
| Download URL | retrobot-0.3.5.tar.gz |
|---|---|
| Size | 23.4 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9ac374f8d4d6cfddc34f94daf5787071586d2b34952607e47d14b42ed1cd57e9
|
|
BLAKE2b-256 checksum How to use checksums |
bc11ba226ee22861a9b4800f59afa24b840a99cb063d7f9edb9c0a13035ab665
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency logRelease files / retrobot-0.3.5-py3-none-any.whl
| Download URL | retrobot-0.3.5-py3-none-any.whl |
|---|---|
| Size | 23.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
46f5cdfe38cfb2b459985d52419fa851e8b163d3b99dc235060ddf489773d4b4
|
|
BLAKE2b-256 checksum How to use checksums |
eac87767a3fe88d8f5f3ee5a0de549e722facfa2dbffe8a18dae655daa8d994d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 11, 2026.
Transparency log