public bool FilterMessage(ref string message) { message = message == null ? null : Regex.Replace(message, ParameterReplacementPattern, delegate(Match match) { var key = match.Groups[1].Value; return(_brain.ContainsKey(key) ? _brain.GetValue(key).ToString() : "{{Key not found}}"); }); return(false); }
public void HandleGetStatus(Message message, IMessageClient client, IBrain brain, string userName) { string result = userName; bool needsAnd = false; bool neverSeenThem = true; if (brain.ContainsKey(LastCheckinKey(userName))) { result += " last checked in at " + brain.GetValue(LastCheckinKey(userName)); neverSeenThem = false; needsAnd = true; } if (brain.ContainsKey(LastCheckoutKey(userName))) { if (needsAnd) { result += ","; } result += " last checked out at " + brain.GetValue(LastCheckoutKey(userName)); neverSeenThem = false; needsAnd = true; } if (brain.ContainsKey(LastSpokeKey(userName))) { if (needsAnd) { result += " and"; } result += " last spoke at " + brain.GetValue(LastSpokeKey(userName)); neverSeenThem = false; } if (neverSeenThem) { result = "I ain't never seen " + userName + " come round these parts"; } client.ReplyTo(message, result); }