CoreLib Documentation



Similar documents
Z Documentation. Release 2. Bart Thate

Fritz Speed Documentation

Healthstone Monitoring System

Architecting the Future of Big Data

latest Release 0.2.6

monoseq Documentation

plonesocial.auth.rpx Documentation

HP WBEM Services Software Developer's Kit Version A Release Notes. HP-UX 11i v3

Sophos for Microsoft SharePoint Help. Product version: 2.0

MultiValue Dashboard. Installation Guide

S3 Monitor Design and Implementation Plans

Allscripts Professional EHR

ScanJour PDF 2014 R8. Configuration Guide

PHP Integration Kit. Version User Guide

Send TLM. Table of contents

Quick Connect Express for Active Directory

Notification messages

Log Insight Manager. Deployment Guide

8.7. Resource Kit User Guide

DEPLOYING EMC DOCUMENTUM BUSINESS ACTIVITY MONITOR SERVER ON IBM WEBSPHERE APPLICATION SERVER CLUSTER

Analog Documentation. Release Fabian Büchler

StreamServe Persuasion SP4 StreamServe Connect for SAP - Business Processes

Symantec NetBackup Vault Operator's Guide

TIBCO ActiveMatrix BusinessWorks Plug-in for Microsoft SharePoint Release Notes

Installation and Testing of NMM (Windows)

CA Performance Center

Simba ODBC Driver with SQL Connector for Apache Cassandra

HIGHSEC eid App Administration User Manual

Version Control with Subversion

Flask-SSO Documentation

IGEL Universal Management. Installation Guide

TECHILA INTERCONNECT END-USER GUIDE

CompleteView Admin Console User s Manual. Version 3.8

Acronis SharePoint Explorer. User Guide

etrust Audit Using the Recorder for Check Point FireWall-1 1.5

IDS and Penetration Testing Lab IIIa

BrightStor ARCserve Backup for Linux

Log Service Installation Instructions

DIGIPASS Authentication for Remote Desktop Web Access User Manual 3.4

Settle-to-File Credit Card Driver for 3700 POS

Altiris Monitor Pack for Servers 7.1 SP2 from Symantec Release Notes

Symantec Enterprise Vault Technical Note. Troubleshooting the Monitoring database and agents. Windows

Veritas Operations Manager Release Notes. 3.0 Rolling Patch 1

CA Workload Automation Agent for Databases

Python for Series 60 Platform

SPARROW Gateway. Developer Data Vault Payment Type API. Version 2.7 (6293)

Building Conferencing Applications Using Intel NetStructure Host Media Processing Software

Dell One Identity Cloud Access Manager How to Configure Microsoft Office 365

TIBCO Spotfire Web Player 6.0. Installation and Configuration Manual

Using CertAgent to Obtain Domain Controller and Smart Card Logon Certificates for Active Directory Authentication

Symantec NetBackup OpenStorage Solutions Guide for Disk

IBM WEBSPHERE LOAD BALANCING SUPPORT FOR EMC DOCUMENTUM WDK/WEBTOP IN A CLUSTERED ENVIRONMENT

openssl egg Bindings to the OpenSSL SSL/TLS library Extension for Chicken Scheme Version Thomas Chust

MySQL Installer Guide

Test Automation Integration with Test Management QAComplete

SolarWinds Technical Reference

Symantec Backup Exec 2010 R2. Quick Installation Guide

System Center Virtual Machine Manager 2012 R2 Plug-In. Feature Description

Dell One Identity Cloud Access Manager How to Configure for SSO to SAP NetWeaver using SAML 2.0

Nokia for Business. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

socketio Documentation

PROFESSIONAL. Node.js BUILDING JAVASCRIPT-BASED SCALABLE SOFTWARE. Pedro Teixeira WILEY. John Wiley & Sons, Inc.

TIBCO ActiveMatrix BusinessWorks Plug-in for TIBCO Managed File Transfer Software Installation

Command Line Interface User Guide for Intel Server Management Software

TIBCO Spotfire Automation Services 6.5. User s Manual

TIBCO ActiveMatrix BusinessWorks Plug-in for Microsoft SharePoint User s Guide

Synology NAS Server. Group Installation Guide Synology NAS Server Group Installation Guide

Google Cloud Print Setup. User s Guide

TIBCO Spotfire Metrics Modeler User s Guide. Software Release 6.0 November 2013

Google Cloud Print User's Manual

Pine Exchange mini HOWTO

CS WinOMS Practice Management Software Server Migration Help Guide

Enterprise Vault.cloud. Microsoft Exchange Managed Folder Archiving Guide

RSA Two Factor Authentication

Fuse MQ Enterprise Broker Administration Tutorials

Nokia for Business. Nokia and Nokia Connecting People are registered trademarks of Nokia Corporation

Troubleshooting / FAQ

Configuring and Integrating MAPI

Backup Exec Cloud Storage for Nirvanix Installation Guide. Release 2.0

Web Services for Management Perl Library VMware ESX Server 3.5, VMware ESX Server 3i version 3.5, and VMware VirtualCenter 2.5

Nokia E61i Configuring connection settings

Remote Control Tivoli Endpoint Manager - TRC User's Guide

Snare System Version Release Notes

Craig Pelkie Bits & Bytes Programming, Inc. craig@web400.com

RSA Security Analytics. S4 Broker Setup Guide

Azure Multi-Factor Authentication. KEMP LoadMaster and Azure Multi- Factor Authentication. Technical Note

Unicenter NSM Integration for BMC Remedy. User Guide

VERITAS Backup Exec TM 10.0 for Windows Servers

Open Source Used In Cisco Instant Connect for ios Devices 4.9(1)

Subversion Server for Windows

Integrate Rails into an Existing IIS Web infrastructure using Mongrel

Installation and Configuration Guide Simba Technologies Inc.

Spring Design ScreenShare Service SDK Instructions

IBM Security SiteProtector System Two-Factor Authentication API Guide

TIBCO Hawk SNMP Adapter Installation

4.0. Offline Folder Wizard. User Guide

Netop Remote Control Security Server

Acronis Backup & Recovery: Events in Application Event Log of Windows

RSA Two Factor Authentication. Feature Description

EPESI PARTNERSHIP PROGRAM [EPP]

Transcription:

CoreLib Documentation Release 25 Bart Thate August 14, 2014

Contents 1 CONTACT 3 2 DOCS 5 2.1 LICENSE................................................. 5 2.2 README................................................ 5 3 PLUGS 7 3.1 core.plugs.add module.......................................... 7 3.2 core.plugs.all module........................................... 7 3.3 core.plugs.allow module......................................... 7 3.4 core.plugs.api module.......................................... 7 3.5 core.plugs.cmnds module........................................ 8 3.6 core.plugs.edit module.......................................... 8 3.7 core.plugs.find module.......................................... 8 3.8 core.plugs.first module.......................................... 9 3.9 core.plugs.irc module.......................................... 9 3.10 core.plugs.join module.......................................... 9 3.11 core.plugs.last module.......................................... 9 3.12 core.plugs.log module.......................................... 9 3.13 core.plugs.mbox module......................................... 9 3.14 core.plugs.rm module.......................................... 9 3.15 core.plugs.rss module.......................................... 10 3.16 core.plugs.show module......................................... 10 3.17 core.plugs.start module.......................................... 10 3.18 core.plugs.status module......................................... 10 3.19 core.plugs.stop module.......................................... 10 3.20 core.plugs.test module.......................................... 10 3.21 core.plugs.timer module......................................... 11 3.22 core.plugs.trim module.......................................... 11 3.23 core.plugs.udp module.......................................... 11 3.24 core.plugs.uptime module........................................ 11 3.25 core.plugs.version module........................................ 11 3.26 core.plugs.xmpp module......................................... 11 4 MODULE 13 4.1 core.completer module.......................................... 13 4.2 core.defines module........................................... 13 4.3 core.log module............................................. 13 i

4.4 core.test module............................................. 13 4.5 core.utils module............................................. 14 4.6 core.................................................... 16 Python Module Index 31 ii

corelib is a library for writing bots. source is located at http://pikacode.com/bthate/corelib Contents 1

2 Contents

CHAPTER 1 CONTACT IRC: botfather on #dunkbots irc.freenode.net email: bthate@dds.nl till freedom come!! 3

4 Chapter 1. CONTACT

CHAPTER 2 DOCS 2.1 LICENSE Copyright 2014 B.H.J Thate CORELIB - a library for programming bots Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the Software ), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: As the creator of this piece of software, Bart Thate, i disclaim all rights on the code contained in this software package. Therefore this software is free of all claims on it. This program is a given, therefore no one can be able to put it under any restriction, limitations or bounds. The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED AS IS, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PAR- TICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFT- WARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 2.2 README CORELIB is a library for writing bots. commands: add - add a <type> <value> all - show all possible keys cmnds - show all commands edit - edit object find - find objects 5

first - show first object join - join channel last - show last object log - add a log object mbox - import a mbox file rm - remove a object show - show JSON of an object start - start a service (xmpp/irc/udp/rss/api) status - show status of services stop - stop a service test - show test message timer - run a timer trim - remove duplicates in data dir uptime - show uptime of services version - show version 6 Chapter 2. DOCS

CHAPTER 3 PLUGS 3.1 core.plugs.add module add a value. add(event) 3.2 core.plugs.all module show all attributes available. all(event) 3.3 core.plugs.allow module add to allow list. allow(event) 3.4 core.plugs.api module Object Copy API. class APIHandler(request, client_address, server) Bases: http.server.basehttprequesthandler timeserver request handler class do_delete(zelf ) handle a REST request. do_get(zelf ) handle a REST request. do_post(zelf ) handle a REST request. do_put(zelf ) handle a REST request. 7

handle_request(zelf ) handle a REST request. log_request(zelf, code) log the request setup(zelf ) called on each incoming request. write_header(zelf, type= text/plain ) write headers to the client. class APIServer(zelf, *args, **kwargs) Bases: http.server.httpserver, core.object API server allow_reuse_address = True boot(zelf, *args, **kwargs) daemon_thread = True exit(zelf ) shutdown the API server. handle_error(zelf, request, addr) log the error serve(zelf ) serving loozelf. api_all(handler, request) api_get(handler, request) api_home(handler, request) api_show(handler, request) init(*args, **kwargs) 3.5 core.plugs.cmnds module show available commands. cmnds(event) 3.6 core.plugs.edit module edit. edit(event) 3.7 core.plugs.find module find objects based on attribute values. 8 Chapter 3. PLUGS

find(event) 3.8 core.plugs.first module first record found. first(event) 3.9 core.plugs.irc module irc related commands. init(*args, **kwargs) 3.10 core.plugs.join module join etc. join(event) 3.11 core.plugs.last module last record found. last(event) 3.12 core.plugs.log module add a value. log(event) 3.13 core.plugs.mbox module mailbox input plugin. mbox(event) 3.14 core.plugs.rm module remove. remove(event) 3.8. core.plugs.first module 9

3.15 core.plugs.rss module rss module. class RSS(zelf, sleep, *args, **kwargs) Bases: core.object boot(zelf, *args, **kwargs) display(zelf, *args, **kwargs) look(zelf, *args, **kwargs) run(zelf, *args, **kwargs) stop(zelf, *args, **kwargs) init(*args, **kwargs) 3.16 core.plugs.show module show JSON dump of objects. show(event) 3.17 core.plugs.start module run plugins initialization code. start(event) 3.18 core.plugs.status module show status. status(event) 3.19 core.plugs.stop module regen, regen. stop(event) 3.20 core.plugs.test module test command. cmnd(event) 10 Chapter 3. PLUGS

3.21 core.plugs.timer module time the timing. class Timer(zelf, time_alarm, event, *args, **kwargs) Bases: core.object echo(zelf, *args, **kwargs) timer(event) 3.22 core.plugs.trim module trim a core data directory into a new unique clone. trim(event) 3.23 core.plugs.udp module relay txt through a udp port listener. class UDP(zelf, *args, **kwargs) Bases: core.object output(zelf, input, addr) init(*args, **kwargs) 3.24 core.plugs.uptime module show uptimes. uptime(event) 3.25 core.plugs.version module show version. version(event) 3.26 core.plugs.xmpp module xmpp related stuff. init(*args, **kwargs) 3.21. core.plugs.timer module 11

12 Chapter 3. PLUGS

CHAPTER 4 MODULE 4.1 core.completer module completer stuff. class TheCompleter(options) Bases: rlcompleter.completer complete(text, state) 4.2 core.defines module defines. 4.3 core.log module provide logging infrastructure. class Formatter(fmt=None, datefmt=none, style= % ) Bases: logging.formatter hooks into the logging system. format(zelf, record) init(loglevel) return a properly configured logger. 4.4 core.test module define core test classes. class Test(zelf, *args, **kwargs) Bases: unittest.case.testcase class that implements setup and teardow of tests. 13

4.5 core.utils module utils package. a_time(daystr) aj(sep=none, *args) b_time(daystr) cdir(path) check_permissions(ddir, dirmask=448, filemask=384) copyright() day() decode_char(txt, encoding= utf-8, what= ) dispatch(target, event, cmnd, *args, **kwargs) dj(*args) dtime(stamp) enc_char(s) enc_name(input) enc_needed(s) error(*args, **kwargs) feed(text) fetch_url(type, url, myheaders={}, postdata={}, keyfile=none, certfile=, port=80) format(*args, **kwargs) from_enc(txt, encoding= utf-8, what= ) ftime(datestr) full(a) get_clsname(obj) get_day(daystr) convert string to time. get_encoding(data) get_exception(*args, **kwargs) get_frame(search= code ) get_func(*args, **kwargs) get_funcname(func) get_highest(target, file_name) determine new file extension. get_hour(daystr) get_how(*args, **kwargs) get_name(obj) 14 Chapter 4. MODULE

get_plugname(*args, **kwargs) get_source(mod, package) get_state(obj, type= ) get_status(obj, type= ) get_strace(*args, **kwargs) get_uptime(obj) get_urls(data) get_zin(obj) hello(*args) hms() intersect(a, b) class istr Bases: builtins.str j(*args) list_eggs(filter= ) list_files(*args, **kwargs) loop(*args, **kwargs) make_opts(options) make_signature(data) make_time(daystr) mj(*args) need_redirect(resp) need_skip(obj, black=[], white=[]) nr_days(seconds) parse(txt) parse_email(fn) parse_url(*args, **kwargs) Attribute Index Value Value if not present scheme 0 URL scheme specifier empty string netloc 1 Network location part empty string path 2 Hierarchical path empty string query 3 Query component empty string fragment 4 Fragment identifier empty string parse_urls(*args, **kwargs) ptime(daystr) reduced_keys(*args, **kwargs) resolve(*args, **kwargs) resolve_host(ip=none, timeout=1.0) resolve_ip(hostname=none, timeout=1.0) rtime() 4.5. core.utils module 15

run_sed(filename, sedstring) replace oldcore strings with the new one. short_date(*args, **kwargs) short_time(*args, **kwargs) show_eggs(filter= core ) smooth(a) split_txt(what, l=375) str_day(seconds) strip_html(text) strip_wiki(text) stripbadchar(s) stripped(input) tdiff(d1, d2) time_string(*args, **kwargs) time_time(*args, **kwargs) to_enc(what, encoding= utf-8 ) today() return time of 0:00 today. touch(fname) txt_parse(txt) unescape(text) union(a, b) unique(a) useragent() verify_signature(data, signature) verzin(a) 4.6 core 4.6.1 core package Subpackages core.plugs package Submodules core.plugs.add module add(event) add a value. 16 Chapter 4. MODULE

core.plugs.all module all(event) show all attributes available. core.plugs.allow module allow(event) add to allow list. core.plugs.api module Object Copy API. class APIHandler(request, client_address, server) Bases: http.server.basehttprequesthandler timeserver request handler class do_delete(zelf ) handle a REST request. do_get(zelf ) handle a REST request. do_post(zelf ) handle a REST request. do_put(zelf ) handle a REST request. handle_request(zelf ) handle a REST request. log_request(zelf, code) log the request setup(zelf ) called on each incoming request. write_header(zelf, type= text/plain ) write headers to the client. class APIServer(zelf, *args, **kwargs) Bases: http.server.httpserver, core.object API server allow_reuse_address = True boot(zelf, *args, **kwargs) daemon_thread = True exit(zelf ) shutdown the API server. handle_error(zelf, request, addr) log the error serve(zelf ) serving loozelf. api_all(handler, request) api_get(handler, request) api_home(handler, request) 4.6. core 17

api_show(handler, request) init(*args, **kwargs) core.plugs.cmnds module cmnds(event) show available commands. core.plugs.edit module edit(event) edit. core.plugs.find module find(event) find objects based on attribute values. core.plugs.first module first(event) first record found. core.plugs.irc module init(*args, **kwargs) irc related commands. core.plugs.join module join(event) join etc. core.plugs.last module last(event) last record found. core.plugs.log module log(event) add a value. core.plugs.mbox module mbox(event) mailbox input plugin. core.plugs.rm module remove(event) remove. core.plugs.rss module rss module. class RSS(zelf, sleep, *args, **kwargs) Bases: core.object boot(zelf, *args, **kwargs) display(zelf, *args, **kwargs) look(zelf, *args, **kwargs) 18 Chapter 4. MODULE

run(zelf, *args, **kwargs) stop(zelf, *args, **kwargs) init(*args, **kwargs) core.plugs.show module show(event) show JSON dump of objects. core.plugs.start module start(event) run plugins initialization code. core.plugs.status module status(event) show status. core.plugs.stop module stop(event) regen, regen. core.plugs.test module cmnd(event) test command. core.plugs.timer module time the timing. class Timer(zelf, time_alarm, event, *args, **kwargs) Bases: core.object echo(zelf, *args, **kwargs) timer(event) core.plugs.trim module trim(event) trim a core data directory into a new unique clone. core.plugs.udp module class UDP(zelf, *args, **kwargs) Bases: core.object output(zelf, input, addr) init(*args, **kwargs) relay txt through a udp port listener. core.plugs.uptime module uptime(event) show uptimes. core.plugs.version module version(event) show version. 4.6. core 19

core.plugs.xmpp module init(*args, **kwargs) xmpp related stuff. Module contents Submodules core.completer module completer stuff. class TheCompleter(options) Bases: rlcompleter.completer complete(text, state) core.defines module defines. core.log module provide logging infrastructure. class Formatter(fmt=None, datefmt=none, style= % ) Bases: logging.formatter hooks into the logging system. format(zelf, record) init(loglevel) return a properly configured logger. core.test module define core test classes. class Test(zelf, *args, **kwargs) Bases: unittest.case.testcase class that implements setup and teardow of tests. core.utils module utils package. a_time(daystr) aj(sep=none, *args) b_time(daystr) cdir(path) 20 Chapter 4. MODULE

check_permissions(ddir, dirmask=448, filemask=384) copyright() day() decode_char(txt, encoding= utf-8, what= ) dispatch(target, event, cmnd, *args, **kwargs) dj(*args) dtime(stamp) enc_char(s) enc_name(input) enc_needed(s) error(*args, **kwargs) feed(text) fetch_url(type, url, myheaders={}, postdata={}, keyfile=none, certfile=, port=80) format(*args, **kwargs) from_enc(txt, encoding= utf-8, what= ) ftime(datestr) full(a) get_clsname(obj) get_day(daystr) convert string to time. get_encoding(data) get_exception(*args, **kwargs) get_frame(search= code ) get_func(*args, **kwargs) get_funcname(func) get_highest(target, file_name) determine new file extension. get_hour(daystr) get_how(*args, **kwargs) get_name(obj) get_plugname(*args, **kwargs) get_source(mod, package) get_state(obj, type= ) get_status(obj, type= ) get_strace(*args, **kwargs) get_uptime(obj) get_urls(data) 4.6. core 21

get_zin(obj) hello(*args) hms() intersect(a, b) class istr Bases: builtins.str j(*args) list_eggs(filter= ) list_files(*args, **kwargs) loop(*args, **kwargs) make_opts(options) make_signature(data) make_time(daystr) mj(*args) need_redirect(resp) need_skip(obj, black=[], white=[]) nr_days(seconds) parse(txt) parse_email(fn) parse_url(*args, **kwargs) Attribute Index Value Value if not present scheme 0 URL scheme specifier empty string netloc 1 Network location part empty string path 2 Hierarchical path empty string query 3 Query component empty string fragment 4 Fragment identifier empty string parse_urls(*args, **kwargs) ptime(daystr) reduced_keys(*args, **kwargs) resolve(*args, **kwargs) resolve_host(ip=none, timeout=1.0) resolve_ip(hostname=none, timeout=1.0) rtime() run_sed(filename, sedstring) replace oldcore strings with the new one. short_date(*args, **kwargs) short_time(*args, **kwargs) show_eggs(filter= core ) smooth(a) split_txt(what, l=375) str_day(seconds) 22 Chapter 4. MODULE

strip_html(text) strip_wiki(text) stripbadchar(s) stripped(input) tdiff(d1, d2) time_string(*args, **kwargs) time_time(*args, **kwargs) to_enc(what, encoding= utf-8 ) today() return time of 0:00 today. touch(fname) txt_parse(txt) unescape(text) union(a, b) unique(a) useragent() verify_signature(data, signature) verzin(a) Module contents basic package for the program. exception AttributeSet Bases: core.error attribute is already set. class Bot(zelf, *args, **kwargs) Bases: core.dispatcher Base Bot class. announce(zelf, *args, **kwargs) announce on channels. begin(zelf, *args, **kwargs) start a bot. cmnd(zelf, *args, **kwargs) run a command with provided string. connect(zelf, *args, **kwargs) connect to server. exit(zelf, *args, **kwargs) shutdown a bot. get_event(zelf, *args, **kwargs) return an event> 4.6. core 23

get_prompt(zelf, *args, **kwargs) return a prompt. join_channels(zelf, *args, **kwargs) join channels. say(zelf, *args, **kwargs) output channel, txt. waiting = False class ConsoleBot(zelf, *args, **kwargs) Bases: core.bot bot running on the console. announce(zelf, *args, **kwargs) get_event(zelf, *args, **kwargs) get_prompt(zelf, *args, **kwargs) waiting = False exception DataNotSet Bases: core.error missing argument attribute. class Dispatcher(zelf, *args, **kwargs) Bases: core.object the dispatcher delegates the workload to the Runners. Runner gets instantiated when needed. allowed(zelf, *args, **kwargs) cleanup(zelf, dojoin=false) remove idle Runners. denied(zelf, *args, **kwargs) dispatch(zelf, *args, **kwargs) dispatch an event onto a Runner. execute(zelf, *args, **kwargs) execute a command, event pair. exit(zelf, name=none) stop the Runners. is_alive(zelf, *args, **kwargs) whether any Runners running. make_new(zelf, *args, **kwargs) create a Runner. put(zelf, *args, **kwargs) put load to the Runner. register(zelf, *args, **kwargs) callback type with corresponding callback function. run_func(zelf, *args, **kwargs) execute command/event pair. 24 Chapter 4. MODULE

exception Error Bases: builtins.baseexception basic Exception used in the program. exception FileNotFoundError Bases: core.error file is not found. class IRCBot(zelf, *args, **kwargs) Bases: core.bot IRC bot. action(zelf, printto, what, event=none, *args, **kwargs) bind(zelf ) cc =. close(zelf ) connect(zelf, reconnect=true) ctcp(zelf, printto, what) ctcpreply(zelf, printto, what) delop(zelf, channel, who) donick(zelf, nick, setorig=false, save=false, whois=false) doop(zelf, channel, who) get_event(zelf, *args, **kwargs) getchannelmode(zelf, channel) handle_366(zelf, *args, **kwargs) handle_433(zelf, event) handle_513(zelf, event) handle_ctcp(zelf, event) handle_invite(zelf, event) handle_join(zelf, event) handle_notice(zelf, event) handle_ping(zelf, event) handle_privmsg(zelf, event) join(zelf, channel, password=none) logon(zelf ) marker = \r\n names(zelf, channel) notice(zelf, printto, what) part(zelf, channel) ping(zelf, *args, **kwargs) 4.6. core 25

pong(zelf, *args, **kwargs) privmsg(zelf, printto, txt) quit(zelf, reason= https://pikacode.com/bthate/corelib ) read_some(zelf, *args, **kwargs) say(zelf, *args, **kwargs) send(zelf, txt) settopic(zelf, channel, txt) stop(zelf, *args, **kwargs) voice(zelf, channel, who) who(zelf, who) whois(zelf, who) class Looper(zelf, *args, **kwargs) Bases: core.object a Looper calls a function every x seconds. boot(zelf, *args, **kwargs) initialize a Looper. get_name(zelf, *args, **kwargs) exception NoJSON Bases: core.error no JSON could be decoded/encoded. exception NoTarget Bases: core.error missing argument attribute. exception NoWorkdirSet Bases: builtins.baseexception a working directory is needed. exception NotSet Bases: core.error attribute is not set. class Object Bases: builtins.dict basic Object on which the rest of the program is based. announce(zelf, *args, **kwargs) announce to all the running cores. check_notwanted(zelf, *args, **kwargs) whether an object is not desired. check_wanted(zelf, *args, **kwargs) whether an object is desired. clear(zelf ) clear the ready state. 26 Chapter 4. MODULE

define(zelf, *args, **kwargs) set a attribute on this object. first(zelf, *args, **kwargs) return the first object where the key and/or value matches. get_args(zelf, *args, **kwargs) get the arguments of the txt attribute. get_cmnd(zelf, *args, **kwargs) determine the command in the zelf.txt attribute, if present. get_days(zelf, *args, **kwargs) get the number of days relative to the object s creation time. get_filetime(zelf, *args, **kwargs) timestamp of related filename. get_keys(zelf, *args, **kwargs) skip the unwanted keys e.g those that start with a _. get_obj(zelf, *args, **kwargs) cloned object, with only the proper keys used. get_parsed(zelf, *args, **kwargs) parse the txt attribute. get_rest(zelf, *args, **kwargs) get the rest of the txt attribute. get_root(zelf, *args, **kwargs) root directory of the program. get_slice(zelf, *args, **kwargs) take a slice of the Object. get_timed(zelf, *args, **kwargs) retrieve the creation time of an object. get_url(zelf, *args, **kwargs) url of the object s file so that it can be retrieved when API server is running. last(zelf, *args, **kwargs) return the last object where the key and/or value matches. load(zelf, *args, **kwargs) load a JSON file into this object. make_path(zelf, *args, **kwargs) create workdir if necessary. make_signature(zelf, sig=none) signature of the data contained in this object. objects(zelf, *args, **kwargs) list of all object s. pretty(zelf ) nice formatted JSON string of this object. read(zelf, *args, **kwargs) read the JSON file from disk. 4.6. core 27

ready(zelf ) signal to ready state. register(zelf, *args, **kwargs) register a value in a list on this object. reply(zelf, *args, **kwargs) send reply to origin. save(zelf, *args, **kwargs) save JSON to disk. say(zelf, *args, **kwargs) output text through the _target attribute. selected(zelf, *args, **kwargs) list of desired objects. selector(zelf, *args, **kwargs) see if this objects has the desired attributes. show(zelf ) list of key,value pairs. sync(zelf, *args, **kwargs) sync JSON to disk. to_disk(zelf, *args, **kwargs) create JSON ready to be saved to disk. to_full(zelf, *args, **kwargs) full JSON dump of this object. to_json(zelf, *args, **kwargs) JSON string representation of this object. wait(zelf, sec=180.0) wait for ready state. write(zelf, *args, **kwargs) actual write to disk. exception Overload Bases: core.error method is trying to be overloaded. class Plugins(zelf, *args, **kwargs) Bases: core.object object to register plugins with. exit(zelf, *args, **kwargs) exit all plugins. get_names(zelf, plugsdir) plugnames from the plugin directory. init(zelf, *args, **kwargs) init all plugins or a specific one if argument is given. load_mod(zelf, plugname, pdir=, force=true) load module. 28 Chapter 4. MODULE

load_package(zelf, modname) load package. load_plugs(zelf, path) load plugins from the plugin directory. plug_init(zelf, *args, **kwargs) initialize plugin. plug_shutdown(zelf, plugname) call the shutdown() function, if provided. reload(zelf, plugname, force=false) reload a plugin. exception RemoteDisconnect Bases: core.error Exception thrown when the connection is disconnected. class Runner(zelf, *args, **kwargs) Bases: threading.thread the working unit of CORELIB. exit(zelf, *args, **kwargs) stop the Runner. get_name(zelf, *args, **kwargs) nr = 0 put(zelf, *args, **kwargs) put arguments/kwargs to the Runner. class TestBot(zelf, *args, **kwargs) Bases: core.bot Bot used in unittests. check(zelf, *args, **kwargs) class XMPPBot(zelf, *args, **kwargs) Bases: core.bot XMPP bot. connect(zelf ) exception(zelf, ex) get_event(zelf, *args, **kwargs) handle_connected(zelf, *args, **kwargs) handle_disconnected(zelf, *args, **kwargs) handle_failedauth(zelf, error, *args) handle_failure(zelf, ex, *args, **kwargs) handle_message(zelf, data, *args, **kwargs) handle_presence(zelf, data, *args, **kwargs) loop(zelf, *args, **kwargs) say(zelf, *args, **kwargs) 4.6. core 29

session_start(zelf, event) stop(zelf, *args, **kwargs) boot(*args, **kwargs) get the program properly initialized. irc_parse(obj, *args, **kwargs) parse a string into an IRC event. kernel_status() shutdown() close the program in a appropiate manner. 30 Chapter 4. MODULE

Python Module Index c core, 23 core.completer, 20 core.defines, 20 core.log, 20 core.plugs, 20 core.plugs.add, 16 core.plugs.all, 17 core.plugs.allow, 17 core.plugs.api, 17 core.plugs.cmnds, 18 core.plugs.edit, 18 core.plugs.find, 18 core.plugs.first, 18 core.plugs.irc, 18 core.plugs.join, 18 core.plugs.last, 18 core.plugs.log, 18 core.plugs.mbox, 18 core.plugs.rm, 18 core.plugs.rss, 18 core.plugs.show, 19 core.plugs.start, 19 core.plugs.status, 19 core.plugs.stop, 19 core.plugs.test, 19 core.plugs.timer, 19 core.plugs.trim, 19 core.plugs.udp, 19 core.plugs.uptime, 19 core.plugs.version, 19 core.plugs.xmpp, 20 core.test, 20 core.utils, 20 31