static async Task Main(string[] args) { var url = Console.ReadLine(); var webobj = new WebhookObject(); webobj.AddEmbed(builder => { builder.WithTitle("Discord-Webhook lib") .WithDescription("Building embed with 'AddEmbed(Action<EmbedBuilder> embedBuilderFunction)'") .WithUrl("https://github.com/ToshiroZ/Discord-Webhook") .WithThumbnail("https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Font_Awesome_5_brands_discord_color.svg/800px-Font_Awesome_5_brands_discord_color.svg.png") .WithColor(Colors.Magenta) .WithImage("https://i.imgur.com/ZGPxFN2.jpg") .AddField("New Field", "This is a new field") .WithFooter("DiscordUser", "https://upload.wikimedia.org/wikipedia/commons/thumb/6/6b/Font_Awesome_5_brands_discord_color.svg/800px-Font_Awesome_5_brands_discord_color.svg.png"); }); webobj.AddEmbed(new EmbedBuilder() .WithTitle("Discord-Webhook lib second message") .WithDescription("Testing discord Webhook") .WithColor(Colors.Orange) ); await new Webhook(url).SendAsync(webobj); }
private static WebhookObject BuildBasicObject(LogEvent logEvent, IFormatProvider formatProvider) { var message = logEvent.RenderMessage(formatProvider); message = message?.Length > 1024 ? message.Substring(0, 1024) : message; var obj = new WebhookObject(); obj.AddEmbed(builder => builder.WithTitle(GetLevelTitle(logEvent.Level)) .WithDescription(message) .WithColor(GetColorFromLevel(logEvent.Level)) ); return(obj); }
protected override void OnSendNotification(string title, string message, string testing) { if (!MainControl.DiscordCheckBox.Checked) { Logger.Write("UI: Discord Notifications are disabled!", LogLevel.Debug); return; } var username = MainControl.DiscordUsernameTextBox.Text; if (string.IsNullOrWhiteSpace(username)) { Logger.Write("UI: Specify a Username for the Discord settings", LogLevel.Warn); return; } var webhookUrl = MainControl.DiscordWebhookTextBox.Text; if (string.IsNullOrWhiteSpace(webhookUrl)) { Logger.Write("UI: Specify a valid Webhook URL for the Discord settings", LogLevel.Warn); return; } Logger.Write("UI: Sending Discord Notification...", LogLevel.Debug); var content = $"@{username} | {title}\n>>>>> {message}"; if (!string.IsNullOrWhiteSpace(testing)) { content += $" [{testing}]"; } var webhook = new Webhook(webhookUrl); var webHookObj = new WebhookObject { username = username, content = content }; webhook.PostData(webHookObj); Logger.Write("UI: Discord notification sent!", LogLevel.Debug); }
private static WebhookObject BuildExceptionObject(LogEvent logEvent, IFormatProvider formatProvider) { var stackTrace = logEvent.Exception.StackTrace; stackTrace = FormatStackTrace(stackTrace); var obj = new WebhookObject(); obj.AddEmbed(builder => builder.WithTitle("Error") .WithDescription(logEvent.Exception.Message) .WithColor(GetColorFromLevel(logEvent.Level)) .WithThumbnail("https://raw.githubusercontent.com/javis86/Serilog.Sinks.Discord/master/Resources/error.png") .AddField("Type", logEvent.Exception.GetType().Name, true) .AddField("TimeStamp", logEvent.Timestamp.ToString(), true) .AddField("Message", logEvent.Exception.Message) .AddField("StackTrace", stackTrace) .AddFieldsRange(GetFieldsFromLogEventProperties(logEvent.Properties)) ); return(obj); }