Giter Club home page Giter Club logo

baas's Introduction

Buddy as a Service (baas) is a jabber/wave robot, using Yahoo YQL API, Google API and other services to do searches (web, news, reviews, wikipedia, imdb) and some other stuff (translations, weather forecast, etc) for you.

The XMPP bot also runs on the google appengine. BaaS is easy extensible through plugins. No API Keys required!

requirements:

- Universal Feed Parser ( http://www.feedparser.org ) and Chardet
- Twisted Words ( http://twistedmatrix.com/trac/wiki/TwistedWords )
- if running as wave robot: wave-robot-python-client ( http://code.google.com/p/wave-robot-python-client/ )

If you want to see BaaS in action, try one of the following demos:

xmpp-bot: 

add [email protected] to your jabber contacts.

appengine-xmpp-robot:

add [email protected] to your jabber contacts

wave-robot:

add [email protected] to your contacts

usage:

type 'help' for available commands

news:word - searches for news
web:word - websearch
blip:song - search for songs on blip.fm
gnews:word - google news search
gweb:word - google web search
metacritic:title - search for reviews on metacritc.com
imdb:title - search for movie on IMDb
wikipedia:thing - search on wikipedia
wiktionary:word - search on wiktionary
tlate:word [@source] [#target] - translates the word from @source in @target, default #target is english
example:foo - gives you a bla for a foo
blog:word - blog search via twingly
micro:word - microblog search via twingly
weather:city [,country] [#lang] - get weather information and forecast

Some commands (news,web) can be combined with lang-codes, like #de, #en, #es etc:
news:hamburg #de
web:xmpp #de

gnews and gweb can be also combined with lang-codes, like #de, #en, #es etc:
gnews:hamburg #de
gweb:xmpp #de

IMDb search can be narrowed down with #en, #de, #es, #pt, #it or #fr
The different wikipedia or wiktionary versions can be selected via #en, #de, #fr etc.

A translation can have the source (@) and the target (#) language specified by tags
tlate:Wie gehts?  @de #en
tlate:Wie gehts?  @de #es
tlate:How do you do? #de

Installation/Configuration:

xmpp-bot:
a) easy_install baas
b) command 'baas_bot' will be installed
c) for an example configuration file type 'baas_bot -s'
d) for all options type 'baas_bot -h'
e) start your bot with 'baas_bot -c /path/to/your/conf'

wave-robot/appengine-xmpp-bot:
a) download source package from github
b) extract source package in your app root
c) copy baas/conf/app.yaml to your app root and modify
d) copy baas/conf/baas.conf to your app root and modify
e) fullfill package dependencies

***************************************************************
****** Copyright 2009 Martin Borho <[email protected]> *********
****** GPLv3 - see License.txt for details            *********
***************************************************************

baas's People

Contributors

lgautrot avatar mborho avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

baas's Issues

Encoding error YQL Plugin

Request news:düsseldorf #es

Error Type: <type 'exceptions.TypeError'>
Error Value: string indices must be integers
Traceback:
File "/usr/local/baas_env/lib/python2.5/site-packages/baas-0.1.4-py2.5.egg/baas/scripts/bot.py", line 66, in gotMessage
result_msg = commando_func(args)
File "/usr/local/baas_env/lib/python2.5/site-packages/baas-0.1.4-py2.5.eg/baas/plugins/yql.py", line 85, in search_news
return self.render(data=hits, title=title)
File "/usr/local/baas_env/lib/python2.5/site-packages/baas-0.1.4-py2.5.egg/baas/core/plugins.py", line 128, in render
return  getattr(self, render_func)(data, title)
File "/usr/local/baas_env/lib/python2.5/site-packages/baas-0.1.4-py2.5.egg/baas/plugins/yql.py", line 116, in render_xmpp
result += "(%s) %s : %s\n" % (row['date'],row['title'],row['url'])

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.