public async Task Process(CancellationToken token) { foreach (var smarting in _smartinger.ThatHasBirthday()) { await _client.ChatPostMessage(_channels.SmartebokaChannel, $"Idag jazzulerer vi {smarting.Name} med {_timing.CalculateAge(smarting.BirthDate)}-årsdagen!"); } }
public async Task <EventHandledResponse> Handle(EventMetaData data, AppMentionEvent message) { var unanswered = await _inviter.SendRemindersToUnanswered(); if (unanswered.Any()) { var uText = unanswered.Select(u => $"Reminded {u.SlackUsername} to RSVP {u.EventTopic}"); var aggr = $"{uText.Aggregate((x, y) => x + "\n" + y)}"; await _client.ChatPostMessage(message.Channel, aggr); } else { await _client.ChatPostMessage(message.Channel, $"No unanswered invites or no existing invites for next storsdag"); } return(new EventHandledResponse("OK")); }
public async Task <EventHandledResponse> Handle(EventMetaData data, AppMentionEvent message) { var index = new Random().Next(_smartinger.Smartingene.Count); var randomSmarting = _smartinger.Smartingene[index]; await _client.ChatPostMessage(message.Channel, randomSmarting.Name); return(new EventHandledResponse("OK")); }
public async Task <ChatPostMessageResponse> PostMessageQuestionAsync(Question question) { var chatPost = new ChatPostMessageRequest { Channel = question.Recipient, Text = string.Empty, as_user = "******", Blocks = ToBlocks(question).ToArray() }; return(await _slackClient.ChatPostMessage(chatPost)); }
public async Task <EventHandledResponse> Handle(EventMetaData data, AppMentionEvent message) { var nextStorsdag = await _eventStorage.GetNextEvent(EventTypes.StorsdagEventType); var invitations = await _inviteStorage.GetInvitations(nextStorsdag.RowKey); var rapport = nextStorsdag.Topic; foreach (var inviteGroup in invitations.GroupBy(i => i.Rsvp)) { string names = inviteGroup.Select(i => i.SlackUsername).Aggregate((x, y) => x + ", " + y); rapport += $"\n• `{inviteGroup.Key}` : {names}"; } await _client.ChatPostMessage(message.Channel, rapport); return(new EventHandledResponse("OK")); }
public async Task <IEnumerable <InvitationsEntity> > SendRemindersToUnanswered() { var nextStorsdag = await _eventStorage.GetNextEvent(EventTypes.StorsdagEventType); var invitations = await _inviteStorage.GetInvitations(nextStorsdag.RowKey); var unanswered = invitations.Where(i => i.Rsvp == RsvpValues.Invited); //unanswered = unanswered.Where(u => u.SlackUsername == "johnkors"); foreach (var invite in unanswered) { _logger.LogInformation($"Reminding {invite.SlackUsername} about {invite.EventTopic}"); var res = await _slackClient.ChatPostMessage(invite.SlackUserId, "Hei, hørte ikke noe fra deg :/ "); await SendInviteInSlackDM(invite); } return(unanswered); }
public async Task <EventHandledResponse> Handle(EventMetaData data, AppMentionEvent message) { var messageText = message.Text.Replace($"wolf ", ""); var wolfram = new WolframAlpha(_options.Value.WulframAlphaAppId); var results = wolfram.Query(messageText); var text = ""; if (results != null) { foreach (var pod in results.Pods) { if (pod.SubPods != null) { foreach (var subPod in pod.SubPods) { if (!string.IsNullOrEmpty(subPod.Title)) { text += $"•{subPod.Title}\n"; } text += $"{subPod.Plaintext} \n"; text += $"\n"; } } } } if (string.IsNullOrEmpty(text)) { text = "Wulf aner ikke 🐺"; } await _client.ChatPostMessage(message.Channel, text); return(new EventHandledResponse("OK")); }
public async Task Process(CancellationToken token) { await _client.ChatPostMessage(_channels.SmartebokaChannel, "Storsdag!"); }
public async Task Handle(EventMetaData eventMetadata, AppMentionEvent appMentioned) { var text = _handlers.Select(handler => handler.GetHelpDescription()).Where(s => !string.IsNullOrEmpty(s.HandlerTrigger)).Aggregate("", (current, helpDescription) => current + $"\n• `{helpDescription.HandlerTrigger}` : _{helpDescription.Description}_"); await _slackClient.ChatPostMessage(appMentioned.Channel, text); }
public async Task Handle(PublishViaWebHook publish, IMessageHandlerContext context) { await _client.ChatPostMessage("#fplbot-notifications", $"{_prefix}{publish.Message}"); }