Skip to content


Subversion checkout URL

You can clone with
Download ZIP
Bot API for JabbR
C# JavaScript
Failed to load latest commit information.
Jabbot.AspNetBotHost removed self-closing ifs
Jabbot.CommandSprockets Updated to new Jabbot.Client, SignalR
Jabbot.ConsoleBotHost Updated to new Jabbot.Client, SignalR
Jabbot cleaned up UnobservedEvent code
assets Updated to new Jabbot.Client, SignalR
.gitignore Updated to new Jabbot.Client, SignalR
Jabbot.sln AspNet Host Created and Working Updated to new Jabbot.Client, SignalR
build.cmd Fixed direction of slash.


Jabbot is a bot API for JabbR.

Why not write an apater for Hubot?

I like writing C# :).

It's as easy as:

var bot = new Bot("http://myjabbot", "username", "password");
bot.Say("Hello", "someroom");
bot.Say("Ok I'm off");

Writing Sprokets

Sprokets are things you can plug-in to enhance the behavior of your bot. Simply drop a dll with classes that implement ISproket into a Sprokets folder and you're done. Here's an port of the from hubot:

public class MathSproket : RegexSproket
    public override Regex Pattern
        get { return new Regex("(calc|calculate|convert|math)( me)? (.*)"); }

    protected override void ProcessMatch(Match match, ChatMessage message, Bot bot)
        var client = new HttpClient();
        client.DefaultRequestHeaders.AcceptLanguage.Add(new StringWithQualityHeaderValue("en-us"));
        client.DefaultRequestHeaders.AcceptCharset.Add(new StringWithQualityHeaderValue("utf-8"));

        client.GetAsync("" + Uri.EscapeDataString(match.Groups[3].Value))
              .ContinueWith(task =>
                  if (task.Result.IsSuccessStatusCode)
                      task.Result.Content.ReadAsStringAsync().ContinueWith(readTask =>
                          dynamic json =  JsonConvert.DeserializeObject(readTask.Result);

                          string solution = json.rhs;

                          bot.Reply(message.FromUser, solution ?? "Could not compute.", message.Room);
Something went wrong with that request. Please try again.