N A M E TOBOT - bot in reverse ! S Y N O P S I S tobot [key=val] [key==val] tobot -cvaw [init=mod1,mod2] tobot -d tobot -s D E S C R I P T I O N TOB has all you need to program a unix cli program, such as disk perisistence for configuration files, event handler to handle the client/server connection, easy programming of your own commands, etc. TOB contains python3 code to program objects in a functional way. it provides an "clean namespace" Object class that only has dunder methods, so the namespace is not cluttered with method names. This makes storing and reading to/from json possible. TOBOT is a python3 IRC bot, it can connect to IRC, fetch and display RSS feeds, take todo notes, keep a shopping list and log text. You can run it under systemd for 24/7 presence in a IRC channel. TOBOT and TOB are Public Domain. I N S T A L L installation is done with pipx $ pipx install tobot $ pipx ensurepath $ tobot srv > tobot.service $ sudo mv tobot.service /etc/systemd/system/ $ sudo systemctl enable tobot --now joins #tobot on localhost U S A G E use tobot to control the program, default it does nothing $ tobot $ see list of commands $ tobot cmd cfg,cmd,dne,dpl,err,exp,imp,log,mod,mre,nme, pwd,rem,req,res,rss,srv,syn,tdo,thr,upt start console $ tobot -c start console and run irc and rss $ tobot -c init=irc,rss list available modules $ tobot mod err,flt,fnd,irc,llm,log,mbx,mdl,mod,req,rss, rst,slg,tdo,thr,tmr,udp,upt`` start daemon $ tobot -d $ start service $ tobot -s C O M M A N D S here is a list of available commands cfg - irc configuration cmd - commands dpl - sets display items err - show errors exp - export opml (stdout) imp - import opml log - log text mre - display cached output pwd - sasl nickserv name/pass rem - removes a rss feed res - restore deleted feeds rss - add a feed syn - sync rss feeds tdo - add todo item thr - show running threads upt - show uptime C O N F I G U R A T I O N irc $ tobot cfg server= $ tobot cfg channel= $ tobot cfg nick= sasl $ tobot pwd $ tobot cfg password= rss $ tobot rss $ tobot dpl $ tobot rem $ tobot nme opml $ tobot exp $ tobot imp P R O G R A M M I N G tobot has it's user modules in the ~/.tob/mods directory so for a hello world command you would edit a file in ~/.tob/mods/hello.py and add the following def hello(event): event.reply("hello world !!") typing the hello command would result into a nice hello world !! $ tobot hello hello world !! commands run in their own thread and the program borks on exit to enable a short debug cycle, output gets flushed on print so exceptions appear in the systemd logs. modules can contain your own written python3 code. F I L E S ~/.tobot ~/.local/bin/tobot ~/.local/pipx/venvs/tobot/* A U T H O R Bart Thate C O P Y R I G H T TOBOT is Public Domain