public void Constructor_Tests() { { Assert.Throws <ArgumentNullException>(() => new WebHookClient(null)); Assert.Throws <ArgumentNullException>(() => new WebHookClient(null, new HttpClientHandler())); Assert.Throws <ArgumentNullException>(() => new WebHookClient(new JsonNetHttpContentConverter(), null)); } { var client = new WebHookClient(new JsonNetHttpContentConverter()); Assert.NotNull(client); } { var client = new WebHookClient(new JsonNetHttpContentConverter(), new HttpClientHandler()); Assert.NotNull(client); } { var client = new WebHookClient(new JsonNetHttpContentConverter(), new HttpClientHandler(), true); Assert.NotNull(client); } }
// Post message example public async void PostMessage() { message = new WebHookMessage { UserName = "******", AvatarURL = avatarURL, Content = "**Content text.**", Embeds = new List <Embed> { new Embed { Color = 15258703, Author = new Author { Name = "Author", URL = authorURL, IconURL = authorIconURL }, Title = "Title of message.", URL = messageURL, Description = "Description of message.", Fields = new List <Field> { new Field { Name = "Name1", Value = "Value1", Inline = true }, new Field { Name = "Name2", Value = "Value2", Inline = true }, new Field { Name = "Name3", Value = "Value3", Inline = true }, new Field { Name = "Name4", Value = "Value4", Inline = true }, }, Image = new Library.Models.Image { URL = imageURL }, Thumbnail = new Thumbnail { URL = imageURL }, Footer = new Footer { Text = "Footer text.", IconURL = authorIconURL }, Timestamp = WebHookClient.DateTimeToISO8601(2020, 1, 1, 10, 15, 20) } }, TTS = false }; client = new WebHookClient(serverURL); // client.WebHookURL = URL; int code = await client.PostMessage(message); lblStatusCode.Text = code.ToString(); }
public async Task SendAsync_Tests() { using (var client = new WebHookClient(new JsonNetHttpContentConverter())) { { Payload payload = null; await Assert.ThrowsAsync <ArgumentNullException>(async() => await client.SendAsync("", "test")); await Assert.ThrowsAsync <ArgumentNullException>(async() => await client.SendAsync("", new Payload { Text = "test" })); await Assert.ThrowsAsync <ArgumentNullException>(async() => await client.SendAsync(WebHookUrl, payload)); } { var message = new StringBuilder("simple message test.") #if NETCOREAPP2_0 .Append("netcoreapp2.0.") #elif NETCOREAPP1_1 .Append("netcoreapp1.1.") #elif NETCOREAPP1_0 .Append("netcoreapp1.0.") #elif NET46 .Append("net46.") #endif .ToString(); var response = await client.SendAsync(WebHookUrl, message); Assert.Equal(ResponseMessage.Ok, response); } { var message = new StringBuilder("structured message test.") #if NETCOREAPP2_0 .Append("netcoreapp2.0.") #elif NETCOREAPP1_1 .Append("netcoreapp1.1.") #elif NETCOREAPP1_0 .Append("netcoreapp1.0.") #elif NET46 .Append("net46.") #endif .ToString(); var response = await client.SendAsync(WebHookUrl, new Payload { Text = message }); Assert.Equal(ResponseMessage.Ok, response); } } }
// Post file with some payload example public async void PostFile() { message = new WebHookMessage { UserName = "******", AvatarURL = avatarURL, Content = "**Content text.**", TTS = false }; client = new WebHookClient(serverURL); int code = await client.PostFile(fileName, message); lblStatusCode.Text = code.ToString(); }
public void SendPRReport(string gitHubToken) { GitHubCore core = new GitHubCore(gitHubToken); var reports = core.GetPRPeports(); var users = core.GetUsers(); var client = new WebHookClient(ConfigurationManager.AppSettings["SendToSlackUrl"]); reports.ForEach(r => { var message = BuildSlackMessage(r, users); client.SendMessage(message); }); using (var ms = ConvertToExcel(reports)) { var fileName = $"PR_report_{DateTimeOffset.UtcNow.ToEasternTime():yyyy-dd-M--HH-mm-ss}.xlsx"; AzureBlob.AzureBlob uploader = new AzureBlob.AzureBlob(); string link = uploader.UploadBlobFromStream(ms, fileName); client.SendMessage(BuildReportLinkMessage(link)); } }
public BotHost( ConfigHost configHost, ILogger <BotHost> logger) { _configHost = configHost; _logger = logger; _bot = WebHookClient.CreateWebHookClient() .Configure(options => { options .Listen(_configHost.Config.Port) .UseEncryptKey(_configHost.Config.Auth.EncryptKey) .UseVerifyToken(_configHost.Config.Auth.VerifyToken) .UseBotAuthorization(_configHost.Config.Auth.Token); }).Build(); _bot.Start(); _bot.Event.Subscribe(ProcessEvent); }
public async Task SendMessageAsync_WithIconEmoji() { var client = new WebHookClient(HookUrl); var message = new Message($"[{DateTime.UtcNow}]\tTest message with icon emoji", icon: Emoji); await client.SendMessageAsync(message); }
public async Task SendMessageAsync_WithUsernameTest() { var client = new WebHookClient(HookUrl); var message = new Message($"[{DateTime.UtcNow}]\tTest message with username", username: "******"); await client.SendMessageAsync(message); }
public async Task SendMessageAsync_Test() { var client = new WebHookClient(HookUrl); var message = new Message($"[{DateTime.UtcNow}]\tTest message"); await client.SendMessageAsync(message); }
static SlackHookHelper() { Client = new WebHookClient(SlackWebHook); }