Skip to content

botlibX/tobot

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

83 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

T O B O T

NAME


tobot - to bot or not to bot !

SYNOPSIS


tobot <cmd> [key=val] [key==val]
tobot -cvaw [init=mod1,mod2]
tobot -d
tobot -s

DESCRIPTION

TOBOT 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, deferred exception handling to not crash on an error, etc.

TOBOT 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 is Public Domain.

INSTALL

installation is done with pipx


$ pipx install tobot
$ pipx ensurepath

<new terminal>

$ tobot srv > tobot.service
$ sudo mv tobot.service /etc/systemd/system/
$ sudo systemctl enable tobot --now

joins #tobot on localhost

USAGE

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 clients


$ 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
<runs until ctrl-c>

COMMANDS

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
req - reconsider
rss - add a feed
syn - sync rss feeds
tdo - add todo item
thr - show running threads
upt - show uptime

CONFIGURATION

irc


$ tobot cfg server=<server>
$ tobot cfg channel=<channel>
$ tobot cfg nick=<nick>

sasl


$ tobot pwd <nsnick> <nspass>
$ tobot cfg password=<frompwd>

rss


$ tobot rss <url>
$ tobot dpl <url> <item1,item2>
$ tobot rem <url>
$ tobot nme <url> <name>

opml


$ tobot exp
$ tobot imp <filename>

PROGRAMMING


tobot has it's user modules in the ~/.tobot/mods directory so for a
hello world command you would edit a file in ~/.tobot/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.

FILES


~/.tobot
~/.local/bin/tobot
~/.local/pipx/venvs/tobot/*

AUTHOR


Bart Thate <bthate@dds.nl>

COPYRIGHT


TOBOT is Public Domain.

About

To bot ornot to bot, it is not a question.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors