Esempio n. 1
0
## defines

channel = "#c-base"
events = []

cfg = PersistConfig()
cfg.define('watcher-interval', 5)
cfg.define('watcher-enabled', 0)
cfg.define('channel', "#c-base")

cfg.define('c-beam-url', 'http://127.0.0.1:4254/rpc/')

##
#jsonrpclib.config.version = 1.0
#server = jsonrpclib.Server(cfg.get('c-beam-url'))
server = ServiceProxy(cfg.get('c-beam-url'))

class EventError(Exception): pass

class EventWatcher(TimedLoop):

    def handle(self):
        if not cfg.get('watcher-enabled'):
            raise EventError('watcher not enabled, use "!%s-cfg watcher-enabled 1" to enable' % os.path.basename(__file__)[:-3])
        #logging.info("fleet: %s - %s" % (str(fleet), str(fleet.list())))
        bot = 0
        try: bot = fleet.byname(self.name)
        except: pass #print "fleet: %s" % str(fleet) #"fleet.byname(%s)" % self.name

        if bot != None:
            bot.connectok.wait()
Esempio n. 2
0
import re
import random
import os
import urllib
import sys
import jsonrpclib
import datetime

## defines


cfg = PersistConfig()
cfg.define('rpcurl', 'http://shout2:1775')

usermap = eval(open('%s/usermap' % cfg.get('datadir')).read())
c_outlog = '%s/botlogs/c_out.log' % cfg.get('datadir')

jsonrpclib.config.version = 1.0
server = jsonrpclib.Server(cfg.get('rpcurl'))

def getuser(ievent):
    if ievent.channel in usermap:
        return usermap[ievent.channel]
    elif ievent.fromm and ievent.fromm in usermap:
        return usermap[ievent.fromm]
    elif ievent.nick and ievent.nick in usermap:
        return usermap[ievent.nick]
    elif ievent.ruserhost in usermap:
        return usermap[ievent.ruserhost]
    elif ievent.channel.find('c-base.org') > -1:
Esempio n. 3
0
import socket
import re
import logging

## defines

enable = False

try:
    cfg = PersistConfig()
    cfg.define('enable', 0)
    cfg.define('host' , socket.gethostbyname(socket.getfqdn()))
    cfg.define('name' , socket.getfqdn())
    cfg.define('port' , 11111)
    cfg.define('disable', [])
    hp = "%s:%s" % (cfg.get('host'), cfg.get('port'))
    url = "http://%s" % hp
    if cfg.enable: enable = True
except AttributeError: enable = False # we are on GAE

## server part

server = None

## functions

def startserver(force=False):
    """ start the rest server. """
    if not enable: logging.debug("rest server is disabled") ; return
    global server 
    if server and not force: logging.debug("REST server is already running. ") ; return server
Esempio n. 4
0
File: mpd.py Progetto: code2u/jsb
    return 1

## mpd-function

def mpd(command):
    """ do a MPD command. """
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(cfg.get('socket-timeout'))
        s.connect((cfg.get('server-host'), cfg.get('server-port')))
    except socket.error, e:
        raise MPDError, 'Failed to connect to server: %s' % str(e)
    m = s.makefile('r')
    l = m.readline()
    if not l.startswith('OK MPD '): s.close() ; raise MPDError, 'Protocol error'
    if cfg.get('server-pass') and cfg.get('server-pass') != 'off':
        s.send('password %s\n' % cfg.get('server-pass'))
        l = m.readline()
        if not l.startswith('OK'):
            s.close()
            raise MPDError, 'Protocol error'
    s.send('%s\n' % command)
    s.send('close\n')
    d = []
    while True:
        l = m.readline().strip()
        if not l or l == 'OK':
            break
        if ': ' in l:
            l = l.split(': ', 1)
            l[0] = l[0].lower()
Esempio n. 5
0
    return 1


def mpd(command):
    try:
        s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
        s.settimeout(cfg.get('socket-timeout'))
        s.connect((cfg.get('server-host'), cfg.get('server-port')))
    except socket.error, e:
        raise MPDError, 'Failed to connect to server: %s' % str(e)
    m = s.makefile('r')
    l = m.readline()
    if not l.startswith('OK MPD '):
        s.close()
        raise MPDError, 'Protocol error'
    if cfg.get('server-pass') and cfg.get('server-pass') != 'off':
        s.send('password %s\n' % cfg.get('server-pass'))
        l = m.readline()
        if not l.startswith('OK'):
            s.close()
            raise MPDError, 'Protocol error'
    s.send('%s\n' % command)
    s.send('close\n')
    d = []
    while True:
        l = m.readline().strip()
        if not l or l == 'OK':
            break
        if ': ' in l:
            l = l.split(': ', 1)
            l[0] = l[0].lower()
Esempio n. 6
0
import socket
import re
import logging

## defines

enable = False

try:
    cfg = PersistConfig()
    cfg.define('enable', 0)
    cfg.define('host' , socket.gethostbyname(socket.getfqdn()))
    cfg.define('name' , socket.getfqdn())
    cfg.define('port' , 11111)
    cfg.define('disable', [])
    hp = "%s:%s" % (cfg.get('host'), cfg.get('port'))
    url = "http://%s" % hp
    if cfg.enable:
         enable = True
except AttributeError:
    # we are on the GAE
    enable = False

## server part

server = None

## functions

def startserver(force=False):
    if not enable:
Esempio n. 7
0
## basic imports

import logging
import re
import random
from jsb.lib.persiststate import PlugState

## defines

RE_SEIN = re.compile(r'\b(bin|bist|gewesen|ist|sei|seid|seien|seiend|seiest|seiet|sein|sein sie|sein wir|seist|sind|war|waren|warst|wart|werde sein|werden sein|werdest sein|werdet sein|wird sein|wirst sein|wäre|wären|wärest|wäret|wärst|wärt|würde sein|würden sein|würdet sein)\b', re.IGNORECASE)

initdone = False

cfg = PersistConfig()
usermap = eval(open('%s/usermap' % cfg.get('datadir')).read())

## Cprime class

class Cprime(LazyDict):
    def __init__(self, rating=0):
        self.rating = rating
    pass

## CprimeItem class

class CprimeItem(PlugPersist):

    def __init__(self, name, default={}):
        PlugPersist.__init__(self, name)
        self.data.name = name
Esempio n. 8
0
import os
import urllib
import sys
import jsonrpclib
import datetime

from jsonrpc.proxy import ServiceProxy

## defines


cfg = PersistConfig()
cfg.define('rpcurl', 'http://10.0.1.27:1775')
cfg.define('local', False)

usermap = eval(open('%s/usermap' % cfg.get('datadir')).read())
ttsdata = eval(open('%s/ttsdata' % cfg.get('datadir')).read())
ttslog = '%s/botlogs/tts.log' % cfg.get('datadir')

#jsonrpclib.config.version = 1.0
#server = jsonrpclib.Server(cfg.get('rpcurl'))
server = ServiceProxy(cfg.get('rpcurl'))

def getuser(ievent):
    if ievent.channel in usermap:
        return usermap[ievent.channel]
    elif ievent.fromm and ievent.fromm in usermap:
        return usermap[ievent.fromm]
    elif ievent.nick and ievent.nick in usermap:
        return usermap[ievent.nick]
    elif ievent.ruserhost in usermap:
Esempio n. 9
0
        #print "fleet: %s - %s" % (str(fleet), str(fleet.list()))
        bot = 0
        try: bot = fleet.byname(self.name)
        except: pass #print "fleet: %s" % str(fleet) #"fleet.byname(%s)" % self.name

        if bot != None:
            bot.connectok.wait()
        now = int(datetime.datetime.now().strftime("%H%M%S"))
        if now > 234200 and now <= 234205:
            bot.say(cfg.get('channel'), 'Es ist jetzt dreiundzwanzig Uhr zweiundvierzig.')
            time.sleep(2)
            bot.say(cfg.get('channel'), 'Oh.')
            #time.sleep(2)
            #bot.say(cfg.get('channel'), 'c-base++')

watcher = Announce2342Watcher('default-irc', cfg.get('watcher-interval'))

def init():
    watcher.start()
    return 1 

def shutdown():
    watcher.stop()
    return 1

def handle_announce2342(bot, ievent):
    ievent.reply('Es ist jetzt dreiundzwanzig Uhr zweiundvierzig.')
    time.sleep(2)
    ievent.reply('Oh.')

Esempio n. 10
0
from jsb.lib.persist import PlugPersist

## basic imports

import re, random
import os, time, datetime
import logging
import uuid
#import jsonrpclib
from jsonrpc.proxy import ServiceProxy

cfg = PersistConfig()

# CONFIG SECTION #######################################################################

usermap = eval(open('%s/usermap' % cfg.get('datadir')).read())

# load i18n for messages ;)

messagefile = '%s/userlist_messages' % cfg.get('datadir')

messages = {}

if os.path.exists(messagefile):
    try:
        messages = eval(open(messagefile).read())
    except: logging.error('error in userlist_messages')
else:
    messages = {
        'unknown_nick': ['ich kenne deinen nickname noch nicht, bitte contact mit smile/cmile aufnehmen.'],
        'logged_in': ['an bord: [%d]'],