StacksGuru: a near realtime bot for all Stack Exchange sites

90

57

UPDATE
Stacksguru address is now stacksguru@appspot.com (in the plural form) remove the old contact (stackguru@appspot.com) and use the new one.

StacksGuru is a Jabber/XMPP bot which gives you a command line interface to Stack Apps sites, including Stack Overflow, Server Fault and Super User.

The bot allows you to follow questions tags by giving you a notification each time a new question is asked on the followed tag. You can also follow a question which will send you a notification each time someone post a comment or an answer on the question.

How To Use It

Take your favorite Jabber/XMPP client (Google Talk for example) and add stacksguru@appspot.com as a contact.

Stack Guru

Commands

  • domain [domain or alias] Set the active domain on which the bot commands will work. For example, domain serverfault will set the default domain to serverfault.com and follow,unfollow and rank commands will work upon the Server Fault API. You can use common aliases (so, sf and su) instead of the full domain names. The default domain is stackoverflow.com in case no domain name is set.

  • follow [tag],[question id],... Start following a question tag or a question. Each time a question is posted with the tag(s) you requested you will get notified. You can follow up to 10 tags. Wildcards are supported (since update 6). You can provide a question id in order to follow a specific question. When following a question you will get notified each time a user posts a comment on the question or if a new answer has been posted for that question.
    Calling follow without any parameters will return the topics and questions that you're following.

  • unfollow [tag],[question id],... Stop following a question tag or a question.
    Passing *, all or everything will make you unfollow everything.

  • mute You will get only notifications for question you follow, you will not get any notification for tags you follow.

  • unmute Resume questions notifications.

  • search [free text] Free text search in the titles of Stack Overflow.

  • google [free text] Free text search using a Google custom search engine.
    This works only on the Stack Overflow domain.

  • rank [user id] Calculates the rank of user id, limited to the top 10000 users.

  • help [command name] Help on a specific command.

License

GPL v3

Platform

Google App Engine

Contact

Shay Erlichmen erlichmen[at]gmail.com
Google Code Page

Code

Written in Python under Google App Engine.


Update 1

You can now follow questions using follow [question id]. When following questions, you will be notified each time a new comment or an answer has been posted on the question.

Notify Questions

Update 2

Add the rank command, see where you stand in the race to be in the second place.

Rank Command

Update 3

ALL Stack Apps sites are supported now, you can use the bot to follow question/tags on all Stack Apps sites.

Update 4

The source code of the bot is available on Google Code as promised, enjoy!.

Update 5

Chrome extension! Read more about it here.

Update 6

Wildcards: It wasn't easy, and it required some cool algorithm and four liters of carbonated drinks in order to support following tags using wildcard for example: jquery* will follow both jQuery and jQuery UI. You can put the wildcard at the beginning of the tag or at the end (or both).

Update 7 09/18/2011

Google has changed the app engine pricing and that forces me to-do some changes to the way StacksGuru works.

For starters, tag following will only get you notified if you are currently online, question following will be deleted two weeks after the initial follow.
You can always refollow the question or better yet mark the question as favorite and Stack Exchange will let you know once the question has new answers. It's not near real time but it's good enough.

The rank command is deprecated - use Stack Exchange leagues instead.

Shay Erlichmen

Posted 2010-05-28T20:33:29.847

Reputation: 1 117

@shay Rank doesn't seem to be working fine ?

me:rank 92837 stackguru:Calculating the rank of Sathya, this might take some time. Couldn't find rank of user 92837, sorry Couldn't find rank of user 92837, sorry Couldn't find rank of user 92837, sorrySathya 2010-06-08T23:04:09.760

@Sathya rank only works for the top 10000 (10K) users, which currently is at ~820 points.Shay Erlichmen 2010-06-09T05:55:19.847

@Shay What is the frequency of the polling to check for new questions?systempuntoout 2010-06-11T10:06:39.113

Currently it is every 2 minutesShay Erlichmen 2010-06-11T21:19:14.123

@Shay it workes fine now. Thanks... edit: rank 48387 gives me No such userCristian 2010-06-18T14:03:02.167

@Cristian I have updated the command to return "No such user on [domain]". Can you tell me on which domain does it search your user?Shay Erlichmen 2010-06-18T14:40:14.570

@Shay a couple of feature-requests :) 1. Add a /filter command to exclude tags. 2.Add a /status command to recap the tags followed.systempuntoout 2010-06-24T13:20:36.337

@systempuntoout for /status you can use /follow without any params. good idea abut the exclude I will look into thatShay Erlichmen 2010-06-24T13:39:12.327

I'm getting this: "you follow too much stuff, please /unfollow some." what's the limit of it? I'm just following two tags. Maybe I have followed some questions by their id... how can I get a list of questions&tags I'm following? thank you!Cristian 2010-06-30T13:53:30.640

@Cristian just type follow without any paramsShay Erlichmen 2010-06-30T13:56:15.057

Nice app! Any news about opening the source code?jbochi 2010-07-02T12:41:48.690

@jbochi once the world cup is over I will spend time on posting the project codeShay Erlichmen 2010-07-03T04:37:46.560

@Shay Great work! I have a question though, does this support tag synonyms? For example, if I follow visual-studio, will visual-studio-2010, etc, included as well?

Igal Tabachnik 2010-09-22T06:15:25.983

@hmemcpy currently no, but that's a great idea. Can you file an enchantment at the project issue tracker

Shay Erlichmen 2010-09-22T08:21:02.727

Is it possible to just follow all new questions instead of new questions for a specific tag?Zoredache 2010-09-24T17:20:04.707

@Zoredache, no and its by design.Shay Erlichmen 2010-09-24T22:49:43.140

@Shay - what about wildcard matching, for example main-* for a tag, where it'd alert for main-1.0, main-2.0, etc...I'm not sure how your app matches tags, but would pattern matching or wildcard be a possibility?Nick Craver 2010-09-25T01:36:47.140

@Nick Its in the pipes, but its not an easy task on the Google App Engine (you would expect that free text search would be an easy task on a Google product).Shay Erlichmen 2010-09-25T09:28:40.190

@Nick wildcard are now availableShay Erlichmen 2010-09-26T19:38:28.663

@Shay - awesome - the wildcard option makes this tremendously more useful, well done sir.Nick Craver 2010-09-27T21:49:09.170

Hey dude... I've been using your bot the last months... really nice. I'd like to know how to disable notifications when you are offline... it seems that it keeps sending the links of the new questions even if I'm not logged in, thus my Gmail inbox gets full of junk that I won't read. Is it possible to avoid that (without unfollowing the tags)? Thank you.Cristian 2010-12-12T18:50:25.643

@Cristian I can't tell if the user is offline when sending the notification, the best solution for you is to use the mute command.Shay Erlichmen 2010-12-19T19:55:38.943

1I'm having a problem adding the 'c' tag. How is this achieved? 'follow c' shows an error message about wildcards.Matthew Willis 2011-02-28T22:11:10.770

@Matthew there a min char limit on the tag name (so that the engine won't explode), I think that I will need to write a special workaround for 'c'. You are welcome to open a bug and follow the progress.

Shay Erlichmen 2011-02-28T22:21:03.733

2@Shay great piece of work. Thank you – None – 2011-04-19T14:36:51.717

This is great but can you please rephrase “Stop the questions notifications, only new question notification will stop notification on answers and comments will continue.” I read it 5 times and still don't get it.Dan 2011-08-04T13:55:15.017

@Dan Abramov DoneShay Erlichmen 2011-08-04T14:12:24.570

2Is this still working? I am using google talk desktop client and I am online...johnbk 2011-10-27T13:55:53.470

The link in Update 5 seems to be dead.Sven Marnach 2011-10-31T11:44:05.203

Chrome extension link is brokenAndriy Tylychko 2011-12-04T11:48:05.637

Answers

5

Is this app still working?
I installed pidgin, added my gtalk account and included stacksguru@appspot.com in the contact list, then I started following the [java] tag, but I'm not getting any alerts even if new java questions are asked.

Am I missing anything?

Lokesh

Posted 2010-05-28T20:33:29.847

Reputation: 151

4

StackGuru is great, I was looking for something like this for months.

Still the limitation of 10 tags pe user is far too small, probably I would be interested to have a limit of 100 tags or over.

I know that I could install my own instance, but this would take too much time.

sorin

Posted 2010-05-28T20:33:29.847

Reputation: 201

This is work in progrees, in the next version while offline you won't get notify about new question on the tags you follow.Shay Erlichmen 2011-06-28T08:52:29.890

2

I am not sure if this is a bug with Google Talk but I keep getting messages from stackguru in my inbox while I am offline. Instead I would prefer to get them via the chat client when I became available.

Does anyone knows how to tune this?

PS. I do not want to disable my chat history because this is very useful feature.

sorin

Posted 2010-05-28T20:33:29.847

Reputation: 201

It's a feature of Google talk. It's a feature request for StackGuru that should not send messages when you are offline.rds 2011-08-19T08:51:15.620

2

Multiple domains? Is it possible to follow multiple domains from one client? I find that would be a useful feature.

Senthil Kumaran

Posted 2010-05-28T20:33:29.847

Reputation: 121

you can, just call the domain command follow what ever you want to follow and than call domain again to follow different topics on a different domain.Shay Erlichmen 2011-07-24T06:41:56.973

@Shay, I meant simultaneously. I could not get that from the feature description. I am trying to follow certain topics across the domains simultaneously from single client.Senthil Kumaran 2011-07-24T15:02:01.087

@ShayErlichmen gamedev doesn't seem to be supported. When I try command 'domain gamedev' or 'domain gamedev.stackexchange.com' I get no acknowledgment.DuckMaestro 2013-01-01T22:27:13.387

@DuckMaestro There is currently a problem with the xmpp stack on AppEngine. I open an issue which you can follow by staring it.

Shay Erlichmen 2013-01-02T11:39:52.020

@DuckMaestro OK, this a problem with the StacksGuru I opened an issue for it.

Shay Erlichmen 2013-01-02T12:50:18.990

1

Is there anyway to use Physics SE with the bot? I tried domain phy,domain phySE etc. None of them worked!

Debanjan Basu

Posted 2010-05-28T20:33:29.847

Reputation: 111