예제 #1
0
        private void DoWork()
        {
            client.ConnectionComplete += (sender, args) =>
            {
                client.JoinChannel("#" + Config.IrcRoom);
            };

            client.ChannelMessageRecieved += (sender, args) =>
            {
                // we should never respond to messages from the bot itself
                if (String.Equals(args.PrivateMessage.User.User, "ConsensusBot", StringComparison.InvariantCultureIgnoreCase))
                {
                    return;
                }

                var message = args.PrivateMessage.Message;
                var mod     = Moderator.GetModerator(args.PrivateMessage.User.User);
                if (message.StartsWith("$vote", StringComparison.InvariantCultureIgnoreCase))
                {
                    ChatCommand cmd = null;
                    if (ChatCommand.TryParse(ChatProviderType.IRC, message, out cmd))
                    {
                        mod.IrcId = args.PrivateMessage.User.Nick;
                        OnCommandReceived(new CommandReceivedEventArgs {
                            Command = cmd, Message = message, Moderator = mod
                        });
                    }
                }
            };
        }
예제 #2
0
        public IEnumerable <Moderator> GetUsers()
        {
            var result = new List <Moderator>();

            foreach (var user in GetSlackUserData().Result.members)
            {
                result.Add(Moderator.GetModerator(user.name));
            }
            return(result);
        }
예제 #3
0
        /// <summary>
        /// Get a list of moderators in IRC
        /// </summary>
        /// <returns></returns>
        public IEnumerable <Moderator> GetUsers()
        {
            var result = new List <Moderator>();

            foreach (IrcUser user in client.Channels["#" + Config.IrcRoom].Users)
            {
                result.Add(Moderator.GetModerator(user.Nick));
            }

            return(result);
        }
예제 #4
0
        private void ProcessMessage(SlackMessage message)
        {
            // we should never respond to messages from the bot itself
            if (String.Equals(message.User.Name, "ConsensusBot", StringComparison.InvariantCultureIgnoreCase) &&
                !String.Equals(message.ChatHub.Name, "general", StringComparison.InvariantCulture))
            {
                return;
            }

            var mod = Moderator.GetModerator(message.User.Name);

            if (message.Text.StartsWith("$vote", StringComparison.InvariantCultureIgnoreCase))
            {
                ChatCommand cmd = null;
                if (ChatCommand.TryParse(ChatProviderType.Slack, message.Text, out cmd))
                {
                    OnCommandReceived(new CommandReceivedEventArgs {
                        Command = cmd, Message = message.Text, Moderator = mod
                    });
                }
            }
        }