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); }
public SlackSocket AddResponder(IMessageResponder responder) { responders.Add(responder); return(this); }