Skip to content
A jaiku-style chat bot for Buzz using the new discovery-based client libraries
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
apiclient
css
httplib2
oauth2
simplejson
webtest
BUGS
README
TODO
app.yaml
buzz_gae_client.py
feedparser.py
front_page.html
functional_tests.py
main.py
message_builder_tests.py
oauth_handlers.py
oauth_wrap.py
profile.html
pshb.py
settings.py
simple_buzz_wrapper.py
simple_buzz_wrapper_tests.py
slashlesscommandmessage_tests.py
start_dance.html
stubs.py
tracker_tests.py
uritemplate.py
xmpp.py

README

This is an experimental jaiku-style chat bot for Google Buzz.
If it breaks you get to keep both pieces.

What does it do?
================
At the moment it lets you ask for:
help Prints out this message
track [search term] Starts tracking the given search term and returns the id for your subscription
untrack [id] Removes your subscription for that id
list Lists all search terms and ids currently being tracked by you
about Tells you which instance of the Buzz Chat Bot you are using
post [some message] Posts that message to Buzz


Why does it exist?
==================
There are 2 sets of reasons why this bot exists.

1- I wanted to create a demo app (using the new Python client library: http://code.google.com/p/google-api-python-client/ ) which would show people a different kind of Buzz app. It's not trying to be a slightly different clone of the existing UI.
2- My experience with Jaiku and Friendfeed taught me that chat interfaces have a number of advantage over web interfaces: 
- they're quicker since you can't beat the latency of alt-tabbing to Adium
- they're always on
- they're transient so you don't feel inundated if you track lots of keywords or see lots of posts because they all just flow by
- they encourage statuscasting: http://www.designingsocialinterfaces.com/patterns/Statuscasting which makes for a more conversational experience
- they allow people and brands to conveniently track keywords without having to learn how PSHB works

What does it require?
=====================
App Engine
Python


Tests
=====
To run the tests you need gae-testbed, nose and nose-gae. So...
sudo easy_install gaetestbed
sudo easy_install nose
sudo easy_install nosegae

They can be run like this:
nosetests --with-gae tracker_tests.py

Although I prefer to do something like this:
nosetests --with-gae *test*py


INSTALLATION
============
This isn't yet ready for installation by people who don't feel like changing the Python code. However if you feel brave you should:
- Register an AppEngine application at http://appengine.google.com/start/createapp?
- Change the app.yaml file to have the same Application Identifier as your application.
- Take a look at settings.py
-- Change the settings.APP_NAME constant to have the same Application Identifier as your application.
-- Change the settings.SECRET_TOKEN from the default
- Use the Google App Engine Launcher: http://code.google.com/appengine/downloads.html#Google_App_Engine_SDK_for_Python to deploy the application.

You can’t perform that action at this time.