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); }
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); }
public abstract Task <bool> Handle(SlackRequestContainer req);