public IrcMessenger()
        {
            var server = Config.Get("Irc.Server");
            var nick = Config.Get("Irc.Nick", Config.Get("Name", "gambot"));
            var user = Config.Get("Irc.User", nick);
            var password = Config.Get("Irc.Password");
            var ssl = Config.GetBool("Irc.Ssl");
            client = new IrcClient(server, new IrcUser(nick, user, password),
                                   ssl);

            client.SetHandler("372", (c, m) => { }); // Ignore MOTD

            client.PrivateMessageRecieved += (sender, args) =>
            {
                if (MessageReceived != null)
                {
                    var message = new IrcMessage(args.PrivateMessage);
                    MessageReceived(this,
                                    new MessageEventArgs
                                    {
                                        Message = message,
                                        Addressed =
                                            (!args.PrivateMessage
                                                  .IsChannelMessage ||
                                             String.Equals(message.To, nick,
                                                           StringComparison
                                                               .CurrentCultureIgnoreCase))
                                    });
                }
            };

            client.ConnectAsync();
        }