Skip to main content

24/7 channel daemon

Project description

BOTD is a 24/7 channel daemon


botctl <cmd> [key=value] [key==value]


BOTD is a 24/7 channel daemon, an attempt to achieve OS level integration of bot technology directly into the operating system. A solid, non hackable bot, that can offer “display in your irc channel” functionality to the unix programmer. It runs under systemd and rc.d as a 24/7 background service that starts the bot after reboot, stores it’s data as JSON files on disk, every object is timestamped, readonly of which the latest is served to the user layer. This bot is intended to be programmable in a static, only code, no popen, no importing from directories, way that makes it suitable for embedding.

BOTD is placed in the Public Domain, no Copyright, no LICENSE.


installation is through pypi or run python3 from the tarball.

sudo pip3 install botd
tar zxvf botd-##.tar.gz
cd botd
sudo python3 install
sudo python3 install_data

for commands shown below use sudo or doas as appropiately (linux or bsd).


to enable restarting of BOTD after reboot you need to enable it, the botd.service (linux) and rc.d (bsd) files are already stored on your system.

systemctl enable botd --now
rcctl enable botd
rcctl start botd


IRC configuration is done with the use of the botctl program, the cfg command configures the IRC bot.

botctl cfg server=<server> channel=<channel> nick=<nick>

default channel/server is #botd on localhost


some irc channels require SASL authorisation (freenode,libera,etc.) and a nickserv user and password needs to be formed into a password. You can use the pwd command for this

botctl pwd <nickservnick> <nickservpass>

after creating you sasl password add it to you configuration.

botctl cfg password=<outputfrompwd>


if you want to restrict access to the bot (default is disabled), enable users in the configuration and add userhosts of users to the database.

botctl cfg users=True
botctl met <userhost>


if you want rss feeds in your channel install feedparser.

apt install python3-feedparser

add a url to the bot and the feed fetcher will poll it every 5 minutes.

botctl rss <url>




Bart “botfather” Thate <>

Project details

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Files for botd, version 64
Filename, size File type Python version Upload date Hashes
Filename, size botd-64-py3-none-any.whl (34.5 kB) File type Wheel Python version py3 Upload date Hashes View
Filename, size botd-64.tar.gz (30.1 kB) File type Source Python version None Upload date Hashes View

Supported by

AWS AWS Cloud computing Datadog Datadog Monitoring DigiCert DigiCert EV certificate Facebook / Instagram Facebook / Instagram PSF Sponsor Fastly Fastly CDN Google Google Object Storage and Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Salesforce Salesforce PSF Sponsor Sentry Sentry Error logging StatusPage StatusPage Status page