from irc import IRCBot, run_bot from gevent import monkey from services.lib.api import load_config, get_redis_client monkey.patch_all() parser = argparse.ArgumentParser( description='ZenIRCBot, a new and different bot', ) parser.add_argument('-c', '--config', default='./bot.json', help='The config to use. (default: %(default)s)') opts = parser.parse_args() config = load_config(opts.config) pub = get_redis_client(config['redis']) class RelayBot(IRCBot): def __init__(self, *args, **kwargs): super(RelayBot, self).__init__(*args, **kwargs) pub.set('zenircbot:nick', self.conn.nick) gevent.spawn(self.do_sub) def do_sub(self): sub = get_redis_client(config['redis']) self.pubsub = sub.pubsub() self.pubsub.subscribe('out') for msg in self.pubsub.listen():
import gevent import redis import json from irc import IRCBot, run_bot from gevent import monkey from services.lib.api import load_config monkey.patch_all() config = load_config('bot.json') redis_config = config['redis'] r = redis.StrictRedis(host=redis_config['host'], port=redis_config['port'], db=redis_config['db']) class RelayBot(IRCBot): def __init__(self, *args, **kwargs): super(RelayBot, self).__init__(*args, **kwargs) gevent.spawn(self.do_sub) def do_sub(self): self.pubsub = r.pubsub() self.pubsub.subscribe('out') for msg in self.pubsub.listen(): message = json.loads(msg['data']) print "Got %s" % message if message['version'] == 1: if message['type'] == 'privmsg': self.respond(message['data']['message'],
import gevent import redis import json from irc import IRCBot, run_bot from gevent import monkey from services.lib.api import load_config monkey.patch_all() config = load_config('bot.json') redis_config = config['redis'] r = redis.StrictRedis(host=redis_config['host'], port=redis_config['port'], db=redis_config['db']) class RelayBot(IRCBot): def __init__(self, *args, **kwargs): super(RelayBot, self).__init__(*args, **kwargs) gevent.spawn(self.do_sub) def do_sub(self): self.pubsub = r.pubsub() self.pubsub.subscribe('out') for msg in self.pubsub.listen(): message = json.loads(msg['data']) print "Got %s" % message if message['version'] == 1: if message['type'] == 'privmsg': self.respond(message['data']['message'], channel=message['data']['to']) def do_pub(self, nick, message, channel):
from irc import IRCBot, run_bot from gevent import monkey from services.lib.api import load_config, get_redis_client monkey.patch_all() parser = argparse.ArgumentParser( description='ZenIRCBot, a new and different bot', ) parser.add_argument('-c', '--config', default='./bot.json', help='The config to use. (default: %(default)s)') opts = parser.parse_args() config = load_config(opts.config) pub = get_redis_client(config['redis']) class RelayBot(IRCBot): def __init__(self, *args, **kwargs): super(RelayBot, self).__init__(*args, **kwargs) pub.set('zenircbot:nick', self.conn.nick) gevent.spawn(self.do_sub) def do_sub(self): sub = get_redis_client(config['redis']) self.pubsub = sub.pubsub() self.pubsub.subscribe('out') for msg in self.pubsub.listen(): if msg['type'] != 'message':