public Task<ProcessingChainResult> HandleMessageAsync(EventMessageBase message) { var presenceMessage = message.CastTo<PresenceChange>(); var user = base.BotState.Users.FirstOrDefault(u => u.Id == presenceMessage.User); if (user != null) user.Presence = presenceMessage.Presence; return Task.FromResult(ProcessingChainResult.Continue); }
public Task<ProcessingChainResult> HandleMessageAsync(EventMessageBase message) { var messageBase = message.CastTo<MessageBase>(); var response = "pong"; if (!message.IsIm(base.BotState)) response = $"<@{messageBase.User}>: {response}"; base.BotServices.SendMessage(messageBase.Channel, response); return Task.FromResult(ProcessingChainResult.Continue); }
public Task<ProcessingChainResult> HandleMessageAsync(EventMessageBase message) { var rtmStartResponse = message.CastTo<RtmStartResponse>(); base.BotState.Bots = rtmStartResponse.Bots; base.BotState.CacheVersion = rtmStartResponse.CacheVersion; base.BotState.Channels = rtmStartResponse.Channels; base.BotState.Groups = rtmStartResponse.Groups; base.BotState.Ims = rtmStartResponse.Ims; base.BotState.LatestEventTs = rtmStartResponse.LatestEventTs; base.BotState.Self = rtmStartResponse.Self; base.BotState.Team = rtmStartResponse.Team; base.BotState.Users = rtmStartResponse.Users; return Task.FromResult(ProcessingChainResult.Continue); }