Example #1
0
        public async Task <SlackResponse> PostMessage(SlackPayload payload)
        {
            var serialized  = payload.Serialize();
            var httpContent = new StringContent(payload.Serialize(), Encoding.UTF8, "application/json");
            var request     = _httpClient.PostAsync("/api/chat.postMessage", httpContent);
            var response    = await request.ConfigureAwait(false);

            if (response.IsSuccessStatusCode)
            {
                var body = await response.Content.ReadAsStringAsync();

                var responseBody = JsonConvert.DeserializeObject <SlackResponse>(body);
                if (responseBody.Ok)
                {
                    return(responseBody);
                }
                throw new SlackClientException(responseBody.Error);
            }

            return(null);
        }
Example #2
0
        public void GivenNotGivenPropertiesTheyAreNotIncluded()
        {
            var payload = new SlackPayload()
            {
                Channel = "FOOBAR",
                Blocks  = new List <IBlock>()
                {
                    new Section(new SectionText("SectionText"), null, null)
                }
            };

            var serialized = payload.Serialize();

            serialized
            .Should()
            .NotContain("fields");
        }