public void Delete(SlackMessage message) { var messageToDeleteTimeStamp = FindMessageToDeleteTimeStamp(message); if (messageToDeleteTimeStamp == null) { System.Diagnostics.Debugger.Launch(); var test = FindMessageToDeleteTimeStamp(message); _logger.LogError("Could not locate message for deletion: " + message.Attachments.First().Text); return; } var queryParameters = new Dictionary <string, string> { ["as_user"] = "******", ["channel"] = _channelId, ["ts"] = messageToDeleteTimeStamp }; var authorizedQuery = GetAuthorizedQuery(queryParameters); var deleteMessageUri = new Uri(_configuration.SlackApiUrl + DeleteMessageApi + authorizedQuery); _httpClient.PostJsonWithRetry(deleteMessageUri); _logger.LogInformation("Deleting message: " + message.Attachments?.First().Text); _logger.LogInformation("Uri to delete message: " + deleteMessageUri.ToString()); }
public void Post(SlackMessage message) { message.Channel = message.Channel ?? $"#{_configuration.PostChannel}"; var messageGuid = Guid.NewGuid().ToString(); // Mark each attachment with a message based GUID so we can find them later foreach (var attachment in message.Attachments) { var guidSeparator = string.Concat(Enumerable.Repeat(Environment.NewLine, 4)); attachment.Fallback = $"{attachment.Text}{guidSeparator}{messageGuid}"; } _httpClient.PostJsonWithRetry(_configuration.WebHookUrl, message); }