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); }
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); }