Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python.announce > #2584

BOTLIB #18 Framework to program bots announced

Path csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail
From Bart Thate <thatebart@gmail.com>
Newsgroups comp.lang.python.announce
Subject BOTLIB #18 Framework to program bots announced
Date Fri, 28 Jul 2017 06:40:34 -0700 (PDT)
Lines 80
Approved python-announce-list@python.org
Message-ID <mailman.18.1501675384.28999.python-announce-list@python.org> (permalink)
References <3a4eea35-7248-4afe-a548-92b6c945833c@googlegroups.com>
Mime-Version 1.0
Content-Type text/plain; charset="UTF-8"
Content-Transfer-Encoding quoted-printable
X-Trace news.uni-berlin.de dAq26ZU3UxxFNV3fmQdGngY9TZ+MOmz2eHQb9p6N3mcQ==
X-Orig-Path s6no642534qtc.1!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Return-Path <news@google.com>
X-Original-To python-announce@python.org
Delivered-To python-announce-list@mail.python.org
X-Spam-Status OK 0.000
X-Spam-Evidence '*H*': 1.00; '*S*': 0.00; 'irc': 0.04; 'json': 0.05; 'python3': 0.05; 'url:bitbucket': 0.05; 'classes.': 0.07; 'filenames': 0.07; 'interpreter.': 0.07; 'strings.': 0.07; 'utf-8': 0.07; 'python': 0.09; 'channel.': 0.09; 'definitions.': 0.09; 'events.': 0.09; 'fetch': 0.09; 'iteration': 0.09; 'loop.': 0.09; 'objects.': 0.09; 'threads.': 0.09; 'timestamp': 0.09; 'stored': 0.11; 'backend': 0.13; 'thread': 0.15; 'files.': 0.15; 'stack': 0.15; 'static': 0.15; 'dotted': 0.16; 'echo': 0.16; 'exceptions.': 0.16; 'logger.': 0.16; 'subject:program': 0.16; 'threads': 0.16; 'trace.': 0.16; 'url.': 0.16; 'string': 0.17; 'output': 0.18; 'shell': 0.18; 'clock': 0.22; 'helper': 0.22; 'it\xe2\x80\x99s': 0.22; 'txt': 0.22; '(or': 0.22; 'url:io': 0.24; 'module': 0.24; 'file.': 0.26; 'header:User-Agent:1': 0.26; 'select': 0.27; 'logging': 0.27; 'module.': 0.28; 'command': 0.28; 'rest': 0.28; 'values': 0.28; 'schedule': 0.29; 'blocking': 0.29; 'case).': 0.29; 'feeds': 0.29; 'loop,': 0.29; 'announce': 0.29; 'objects': 0.29; 'code': 0.30; 'class.': 0.31; 'raw': 0.31; 'received:google.com': 0.32; 'framework': 0.33; 'handling': 0.33; 'source': 0.33; 'list': 0.33; 'url:en': 0.34; 'release': 0.34; 'run': 0.35; 'version': 0.35; 'saved': 0.35; 'class': 0.36; 'server': 0.36; 'file': 0.36; 'received:209.85': 0.36; 'entry': 0.36; 'should': 0.36; 'files': 0.36; 'url:org': 0.36; 'store': 0.37; 'add': 0.37; 'skip:p 20': 0.37; 'basic': 0.38; 'easily': 0.38; 'received:209': 0.38; 'data': 0.39; 'serve': 0.39; 'proto:https': 0.39; 'received:io': 0.39; 'received:psf.io': 0.39; 'gives': 0.39; 'received:ams1.psf.io': 0.40; 'received:mail1.ams1.psf.io': 0.40; 'over': 0.60; 'use.': 0.60; 'your': 0.61; 'email addr:gmail.com': 0.62; 'export': 0.63; 'future': 0.64; 'watch': 0.66; 'contact': 0.66; 'to:addr:comp- lang-python-announce': 0.66; 'services': 0.66; 'prompt': 0.67; '8bit%:21': 0.67; 'capabilities': 0.72; 'to:addr:moderators.isc.org': 0.76; 'subject: #': 0.79; 'bot': 0.84; 'commands.': 0.84; 'construct': 0.84; 'launches': 0.84; 'plugins.': 0.84; 'print.': 0.84; 'to/from': 0.84; '8bit%:33': 0.91; 'sensors': 0.91; 'message-id:@googlegroups.com': 0.93
Delivered-To comp-lang-python-announce@moderators.isc.org
X-Google-DKIM-Signature v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:path:newsgroups:date:complaints-to :injection-info:nntp-posting-host:user-agent:mime-version:message-id :subject:from:injection-date:to:content-transfer-encoding; bh=qDH2Bcs/KmhLqI/2LJjDGAsDQhK/nCu2g6NYyrcDtT8=; b=FnmR4VMN9hnHP0926/EcSl4oOdR/4Dx0sn0O1U3XiOagx+1EXxT3ijamG2pKfZZzli Q6VxGCzw/V6wG0Q6J1m0frHzuy6MB3P80vMUEPm0Jg2LOnms2ySQZDkiwCrFs9PPr3HF O5OLFddynK4zaBhVnPzNJ0AbYLBQUAdSpgWrnfgKUjH0K2MSgO6aPsr1HRfQOayqHVlD bJ7mL3X9JNwEw/5ucOU0drH9awxGD+i4OYLFTnrHWtcmTn1qXN1dfmJiRCOrRwKzhaxA QSbvsYfg4uALu2hsFUIYgcNM+il9TsYI/HRrF9hAz/BjNhXXmD+FCxyLBUYX0tr+fJnG p51A==
X-Gm-Message-State AIVw111+zP3xUBreJl44TF/KBZfDot+4sTmNDr/pIFPyrYt+Dj9c7Z8U AgsfyNr82axbilQrsnbLcI+a2EW6YLxMKFL0Gkg=
X-Received by 10.176.6.35 with SMTP id f32mr5141194uaf.13.1501249234677; Fri, 28 Jul 2017 06:40:34 -0700 (PDT)
X-Received by 10.31.158.129 with SMTP id h123mr39617vke.15.1501249234587; Fri, 28 Jul 2017 06:40:34 -0700 (PDT)
Complaints-To groups-abuse@google.com
Injection-Info glegroupsg2000goo.googlegroups.com; posting-host=62.131.24.32; posting-account=M4peCAkAAADWqy8zSBwt1jsGLt8PFBVw
User-Agent G2/1.0
Injection-Date Fri, 28 Jul 2017 13:40:34 +0000
X-Mailman-Approved-At Wed, 02 Aug 2017 08:03:03 -0400
X-BeenThere python-announce-list@python.org
X-Mailman-Version 2.1.24
Precedence list
List-Id Announcement-only list for the Python programming language <python-announce-list.python.org>
List-Unsubscribe <https://mail.python.org/mailman/options/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=unsubscribe>
List-Archive <http://mail.python.org/pipermail/python-announce-list/>
List-Post <mailto:python-announce-list@python.org>
List-Help <mailto:python-announce-list-request@python.org?subject=help>
List-Subscribe <https://mail.python.org/mailman/listinfo/python-announce-list>, <mailto:python-announce-list-request@python.org?subject=subscribe>
X-Mailman-Original-Message-ID <3a4eea35-7248-4afe-a548-92b6c945833c@googlegroups.com>
Xref csiph.com comp.lang.python.announce:2584

Show key headers only | View raw


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@dds.nl, thatebart@gmail.com

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

Back to comp.lang.python.announce | Previous | Next | Find similar | Unroll thread


Thread

BOTLIB #18 Framework to program bots announced Bart Thate <thatebart@gmail.com> - 2017-07-28 06:40 -0700

csiph-web