public async Task <Message> PostMessageAsync(string workspaceName, string channelId, string text) { HttpClient client = CreateClient(workspaceName); var request = new ChatPostMessageRequest(channelId, text); var response = await request.SendAsync(client); return(response.Msg); }
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 PublishToWorkspace(string teamId, string channel, params string[] messages) { foreach (var msg in messages) { var req = new ChatPostMessageRequest { Channel = channel, Text = msg, unfurl_links = "false" }; await PublishToWorkspace(teamId, req); } }
/// <inheritdoc/> public async Task <ChatPostMessageResponse> ChatPostMessage(ChatPostMessageRequest postMessage) { return(await _client.PostJson <ChatPostMessageResponse>(postMessage, "chat.postMessage", s => _logger.LogTrace(s))); }
private bool PostMessage(string channelId, MessageParameters messageParameters) { if (messageParameters.Message == null) { throw new ArgumentNullException("Message is required"); } var request = new ChatPostMessageRequest { Channel = channelId, Text = messageParameters.Message, AsUser = messageParameters.AsUser, IconEmoji = messageParameters.IconEmoji, IconUrl = messageParameters.IconUrl, LinkNames = messageParameters.LinkNames, Parse = messageParameters.Parse, ReplyBroadcast = messageParameters.ReplyBroadcast, ThreadTs = messageParameters.ThreadTs, UnfurlLinks = messageParameters.UnfurlLinks, UnfurlMedia = messageParameters.UnfurlMedia, UserName = messageParameters.UserName }; if (messageParameters.Attachments == null || !messageParameters.Attachments.Any()) { return(Execute <ChatPostMessageResponse>(request).Ok); } request.Attachments = new List <Attachment>(); foreach (var attachment in messageParameters.Attachments) { var attachmentRequest = new Attachment { Fallback = attachment.Fallback, Color = attachment.Color?.Value, Pretext = attachment.Pretext, AuthorName = attachment.AuthorName, AuthorLink = attachment.AuthorLink, AuthorIcon = attachment.AuthorIcon, Title = attachment.Title, TitleLink = attachment.TitleLink, Text = attachment.Text, ImageUrl = attachment.ImageUrl, ThumbUrl = attachment.ThumbUrl, Footer = attachment.Footer, FooterIcon = attachment.FooterIcon, TimeStamp = CalculateTimestamp(attachment.TimeStamp) }; request.Attachments.Add(attachmentRequest); if (attachment.Fields == null || !attachment.Fields.Any()) { continue; } attachmentRequest.Fields = new List <AttachmentField>(); foreach (var field in attachment.Fields) { attachmentRequest.Fields.Add(new AttachmentField { Title = field.Title, Value = field.Value, Short = field.IsShort }); } } return(Execute <ChatPostMessageResponse>(request).Ok); }