示例#1
0
        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);
        }
示例#2
0
        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);
        }
示例#3
0
        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);
        }