public static SlackMessageBuilder MentionBlock(this SlackMessageBuilder builder, SlackLogMention mention) { var mentions = new List <string>(); if (mention.Channel.HasValue) { mentions.Add(SlackMessageTextHelper.ChannelMention(mention.Channel.Value)); } if (mention.Users?.Any() == true) { mentions.AddRange(mention.Users.Select(SlackMessageTextHelper.UserMention)); } if (mention.UserGroups?.Any() == true) { mentions.AddRange(mention.UserGroups.Select(SlackMessageTextHelper.UserGroupMention)); } if (mentions.Any()) { builder.MessageBlock(string.Join(", ", mentions)); } return(builder); }
private async Task AttachExceptionAsync(SlackClient slackClient, SlackMessageBuilder threadMessageBuilder, Exception exception) { if (_logOptions.SendExceptionAsFile) { var exceptionType = exception.GetType().Name; var fileObjectResponse = await slackClient.Files.UploadContentAsync( exception.ToString(), title : exceptionType, filename : $"{exceptionType}.cs"); threadMessageBuilder.Text(fileObjectResponse.File.Permalink.ToString()); } else { threadMessageBuilder .MessageBlock(SlackMessageTextHelper.CodeBlock(exception.ToString())); } }