def connect(self): self.campfire = Campfire(self.subdomain, self.auth_token) self.room = self.campfire.find_room_by_name(self.room_name) self.room.join() self.username = self.campfire.me()['name'] def callback(message): text = message['body'] user_id = message['user_id'] user = self.users.get(user_id) if user_id: if not user: user = self.campfire.user(user_id)['user']['name'] self.users[user_id] = user self.perform_action(user, text) def err_callback(exc): self.error(exc) self.room.join() self.room.listen(callback, err_callback, start_reactor=False) application = service.Application("firebot") return application
def __init__(self): self.client = Campfire(settings.CAMPFIRE_SUBDOMAIN, settings.CAMPFIRE_API_KEY, ssl=True) self.rooms = [] self.plugins = [] for p in settings.INSTALLED_PLUGINS: klass = get_callable(p) if klass: print 'Loading plugin: %s' % klass self.plugins.append(klass())
def __init__(self): self.client = Campfire(settings.CAMPFIRE_SUBDOMAIN, settings.CAMPFIRE_API_KEY) self.rooms = [] self.since_message_id = None self.plugins = [] for plugin in settings.REGISTERED_PLUGINS: path = plugin.split('.') klass = path.pop() plugin_obj = getattr( __import__('.'.join(path), globals(), locals(), [klass], -1), klass) self.plugins.append(plugin_obj()) for room in settings.CAMPFIRE_ROOMS: log.debug("Joining %s" % room) room = self.client.find_room_by_name(room) if room: self.rooms.append(room) room.join()
def reload(self, **kwargs): '''Given a new set of configurations, make sure we're up to date''' self.updatePath() log.info(repr(kwargs)) subdomain = kwargs.get('subdomain', self.subdomain) apiKey = kwargs.get('api_key', self.apiKey) if not subdomain and not apiKey: log.critical('Need a subdomain and API key') exit(1) self.client = Campfire(subdomain, apiKey) # Now register the bot's name self.name = kwargs.get('name', self.name) or 'campy' self.nameRE = re.compile(r'\s*%s\s+(.+)\s*$' % re.escape(self.name), re.I) # Now join all the appropriate rooms for room in kwargs.get('rooms', []): if not self.joinRoom(room): log.warn('Could not find room %s' % room) else: log.debug('Joined %s' % room)