BOTLIB #18 Framework to program bots announced

Bart Thate thatebart at gmail.com
Fri Jul 28 09:40:34 EDT 2017


I like to announce the release of BOTLIB version 18 into the Public Domain.

BOTLIB #18 - Framework to program bots - http://botlib.readthedocs.io/en/latest/ #ggz #evrm #dooddoorgif

README

BOTLIB is a python3 framework to use if you want to program IRC or XMPP bots.

provides

CLI, IRC and XMPP bots.
Object class - save/load to/from a JSON file.
ReST server - serve saved object’s over HTTP.
RSS fetcher - echo rss feeds to IRC channels.
UDP server - udp to bot to IRC channel.
Watcher server - run tail -f and have output send to IRC channel.
Email scanning - scan mbox format to searchable BOTLIB objects.
JSON backend - objects are stored as json string in files on the fs.
Db - iteration over stored objects.
Timestamp - time based filenames gives logging capabilities
Future - future sensors should provide entry to the logger.

setup

Set export PYTHONPATH=”.” if the bot cannot be found by the python interpreter.
Set export PYTHONIOENCODING=”utf-8” if your shell has problems with handling utf-8 strings.
For the XMPP server use a ~/.sleekpass file with the password in it

source

botlib.bot 	bot base class.
botlib.cli 	command line interfacce bot, gives a shell prompt to issue bot commands.
botlib.clock 	timer, repeater and other clock based classes.
botlib.cmnds 	botlib basic commands.
botlib.compose 	construct a object into it’s type.
botlib.engine 	select.epoll event loop, easily interrup_table esp. versus a blocking event loop.
botlib.db 	JSON file db.
botlib.error 	botlib exceptions.
botlib.event 	event handling classes.
botlib.fleet 	fleet is a list of bots.
botlib.handler 	schedule events.
botlib.irc 	IRC bot class.
botlib.kernel 	program boot and module loading.
botlib.launcher 	a launcher launches threads (or tasks in this case).
botlib.log 	log module to set standard format of logging.
botlib.object 	JSON file backed object with dotted access.
botlib.raw 	raw output using print.
botlib.rss 	rss module.
botlib.selector 	functions used in code to select what objects to use.
botlib.task 	adapted thread to add extra functionality to threads.
botlib.trace 	functions concering stack trace.
botlib.users 	class to access user records.
botlib.xmpp 	XMPP bot class.
botlib.register 	object with list for multiple values.
botlib.rest 	rest interface.
botlib.runner 	threaded loop to run tasks on.
botlib.space 	central module to store objects in.
botlib.static 	static definitions.
botlib.template 	cfg objects containing default values for various services and plugins.
botlib.test 	plugin containing test commands and classes.
botlib.udp 	relay txt through a udp port listener.
botlib.utils 	lib local helper functions.
botlib.url 	functions that fetch data from url.
botlib.watcher 	watch files.

contact

Bart Thate
botfather on #dunkbot irc.freenode.net
bthate at dds.nl, thatebart at gmail.com

BOTLIB is released in the Public Domain - https://bitbucket.org/bthate/botlib


More information about the Python-announce-list mailing list