Exemplo n.º 1
0
        private Func <ISlackSocket, Message, SlackUser, Task> GetResponder(Message message, SlackUser user)
        {
            // finds a single responder
            // if zero or more than one matches return the DefaultResponder
            IMessageResponder responder = null;

            foreach (var r in Responders)
            {
                if (r.CanRespond(message, user))
                {
                    if (responder != null)
                    {
                        return(DefaultResponder);
                    }
                    responder = r;
                }
            }

            if (responder == null)
            {
                return(DefaultResponder);
            }
            return(responder.Respond);
        }
Exemplo n.º 2
0
 public SlackSocket AddResponder(IMessageResponder responder)
 {
     responders.Add(responder);
     return(this);
 }