HipChat XMPP Bot in C#
Switch branches/tags
Nothing to show
Clone or download
Pull request Compare This branch is 33 commits behind patHyatt:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Type Name Latest commit message Commit time
Failed to load latest commit information.


To use: Copy/Paste the App.config.template file and rename to App.config. Inside the newly named App.config file, fill in key entries with appropriate values from your XMPP page in hipchat.

To add functionality: Implement the IXmppBotPlugin interface and decorate the class with [Export(typeof(IXmppBotPlugin))]. Implement the interfaces methods (Evaluate and Name). Uberfy your HipChat.


using System;
using System.ComponentModel.Composition;
using System.Linq;

using XmppBot.Common;

namespace XmppBot.Extensions
    public class SmackEm : IXmppBotPlugin
        public string Evaluate(ParsedLine line)
            if (!line.IsCommand)
                return "";

            switch (line.Command.ToLower())
                case "smack":
                    return String.Format("{0} smacks {1} around with a trout.", line.User, line.Args.FirstOrDefault() ?? "Your mom");

                default: return null;

        public string Name
            get { return "Smack Em!"; }

You can run the bot as a console application, or you can install it as a Windows Service by running:

XMPP_bot.exe install

For more info about installing as a service, see the TopShelf documentation.