5

I'm thinking about starting a project where I'd like to have access to the "chat" feature of the stack exchange sites. I saw this project: IRC access for the chat?

But I don't believe that it works with the current revision of the chat system.

API access is also requested in Will the API support the chat system?.

But it appears that the feature has been deferred.

In the meantime, what ways do I have with interacting with the chat features of the network?
It looks like there might be a "starred comment" RSS feed, (EG: chat.stackexchange.com/feeds/rooms/starred/ROOM_NUM) but is that the only interaction currently possible?

3 Answers 3

3

There is no official API provided for the chat network. As Marc's answer mentions, there are a number of community efforts to bridge the gap:

Go

JavaScript

Python

Rebol

If you are the author of a library / package for chat, feel free to edit this answer and add a link to yours.

2

and what exactly would you have? you are correct in that there is no officially supported API available for chat. Some fairly successful efforts have been made by the community (unrelated to SE) to reverse engineer the API that chat uses; but that is not the same thing as a supported and documented API.

AFAIK there are no active plans to implement a direct API for this. As already noted by Jeff, if we did do this, it probably wouldn't fit into quite the same API anyway (for reasons such as: data-centre proximity).

9
  • You can find an example of such an app here. Commented Dec 12, 2011 at 20:39
  • I'd like to be able to read (and ideally write) to the chat system from some alternative interface. I can certainly attempt to reverse engineer it, and if that's what others have done (and been successful with/avoided violating any usage restrictions) then I can go that route. Something supported that isn't likely to change on a whim and break my stuff, whether it's part of this API or that API would be nice though.
    – agent86
    Commented Dec 12, 2011 at 20:41
  • @agent86 "read (and ideally write)" is pretty vague. What exactly do you want to do. Just to help me understand. Read existing transcripts? Query against new changes to active chats (which would typically be much more frequent / high usage)? Commented Dec 12, 2011 at 20:47
  • I haven't completely decided yet, so apologies for the vagueness. One idea I'm having is a command-line driven ncurses chat client, for times when I can't have a full-blown browser running. Another thing I'm considering is some sort of IRC 'bot that is capable of generating statistics or perhaps filtering/analyzing the chat stream. For this, the RSS of starred chat entries might be enough. I haven't completely scoped everything because I don't know what's fully possible.
    – agent86
    Commented Dec 12, 2011 at 20:51
  • @GeorgeEdison, your app probably does quite a bit of the things I'm interested in, but I note that it's not open source. Are there any examples of open source projects that have "reverse engineered" the chat system so that I don't need to start from scratch?
    – agent86
    Commented Dec 14, 2011 at 0:38
  • @agent86: For security reasons part of it isn't open source. The rest is here. Commented Dec 14, 2011 at 0:51
  • @GeorgeEdison, thanks for the link. I didn't see that in the original question, did I miss it? If so, my apologies.
    – agent86
    Commented Dec 14, 2011 at 0:53
  • @GeorgeEdison, what functionality is missing from the open source version?
    – agent86
    Commented Dec 14, 2011 at 1:19
  • @agent86: You can find a bit more here: paste.ubuntu.com/719394 Commented Dec 14, 2011 at 1:38
2

There's unofficial collaborative Chat API Documentation for how everything in chat works.

Its split up into a couple different parts:

More information here: Stack Exchange Chat API Documentation and Bot Boilerplate (finally)

Note: I started the documentation above. Feel free to contribute, add any new information you find, and fix any mistakes. I would like for this to become the main documentation people use :)

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .