public override async Task <bool> Handle(SlackRequestContainer req)
        {
            if (req.Json.ContainsKey("event"))
            {
                var e = req.Json["event"];
                if (e?["type"]?.ToString() != "message")
                {
                    return(false);
                }

                var msg         = e["text"]?.ToString();
                var user        = e["user"]?.ToString();
                var channel     = e["channel"]?.ToString();
                var channelType = e["channel_type"]?.ToString();
                _logger.LogInformation("{Msg} {From} {Channel}", msg, user, channel);
                var res = await _promo.TryEnterPromoAsync(user, msg, new MessageContext()
                {
                    ChannelId = channel,
                    Type      = ChannelType.Direct
                }, null);

                _logger.LogInformation(e.ToString());
                return(true);
            }

            return(false);
        }
        public override async Task <bool> Handle(SlackRequestContainer req)
        {
            if (req.Json["type"]?.ToString() == "event_callback")
            {
                await HandleEventAsync(req.Response, req.Json);

                return(true);
            }

            return(false);
        }
Ejemplo n.º 3
0
        public override async Task <bool> Handle(SlackRequestContainer req)
        {
            if (req.Json["type"]?.ToString() != "url_verification")
            {
                return(false);
            }

            await ResponseChallenge(req.Response, req.Json["challenge"]?.ToString(),
                                    req.Json["token"]?.ToString());

            return(true);
        }
Ejemplo n.º 4
0
 public abstract Task <bool> Handle(SlackRequestContainer req);