Source code for zot.bot

# zot/bot.py
#
#

""" basic package for the program. """

__copyright__ = "Copyright 2015, B.H.J Thate"

## IMPORTS

from zot.utils import get_name, short_date, get_type
from zot.errors import RemoteDisconnect
from zot.dispatcher import DISPATCHER
from zot.defines import BLA, ENDC
from zot.object import Object
from zot.runtime import kernel, fleet

import logging
import socket
import time

## BOTS

[docs]class BOT(DISPATCHER): """ Base Bot class. """ def __init__(zelf, *args, **kwargs): DISPATCHER.__init__(zelf, *args, **kwargs) zelf._start = time.time() zelf.channels = ["#zotbot", ]
[docs] def say(zelf, *args, **kwargs): print(args[1]) ## CHANNELS
[docs] def announce(zelf, *args, **kwargs): """ announce on channels. """ zelf.wait() logging.info("# announce %s" % " ".join(zelf.channels)) for channel in zelf.channels: zelf.say(channel, args[0])
[docs] def join(zelf, *args, **kwargs): pass
[docs] def join_channels(zelf, *args, **kwargs): """ join channels. """ for channel in zelf.channels: zelf.join(channel) ## TESTBOT
[docs]class TESTBOT(BOT): """ USE WITH Bot.put() and Bot.read(). """ testing = True
[docs] def say(zelf, *args, **kwargs): logging.warn(args[1])
[docs] def event(zelf, *args, **kwargs): o = Object() o.origin = "test@zot" o._target = zelf o.loglevel = "warning" return o