From a161899f24558233692d911deb643222efe4a6d8 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E6=9D=A8=E6=AF=85?= <2667210109@qq.com> Date: Sat, 16 Nov 2024 23:00:10 +0800 Subject: [PATCH] =?UTF-8?q?=E6=96=B0=E5=A2=9E=E7=BD=91=E9=A1=B5=E6=88=AA?= =?UTF-8?q?=E5=9B=BE?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- asg_form/Controllers/webhook.cs | 40 ++++++++++++++++++++++++++++++--- asg_form/Program.cs | 7 +++++- 2 files changed, 43 insertions(+), 4 deletions(-) diff --git a/asg_form/Controllers/webhook.cs b/asg_form/Controllers/webhook.cs index 6b32ff2..2015093 100644 --- a/asg_form/Controllers/webhook.cs +++ b/asg_form/Controllers/webhook.cs @@ -13,6 +13,30 @@ using static System.Runtime.InteropServices.JavaScript.JSType; namespace asg_form.Controllers { + + + public class WebsiteScreenshot + { + public static async Task CaptureWebsiteAsync(string url) + { + string apiKey = "XFQEXfIxBHqIhT9jKLDNYxRVD8U"; + string apiUrl = $"https://api.thumbalizr.com/?url={url}&width=1024&height=768&api_key={apiKey}"; + using (HttpClient client = new HttpClient()) + { + HttpResponseMessage response = await client.GetAsync(apiUrl); + if (response.IsSuccessStatusCode) + { + byte[] imageBytes = await response.Content.ReadAsByteArrayAsync(); + + return imageBytes; + } + else + { + throw new Exception("Failed to capture screenshot."); + } + } + } + } public class webhook : ControllerBase { private readonly Logger logger = LogManager.GetCurrentClassLogger(); @@ -66,8 +90,19 @@ namespace asg_form.Controllers try { - var message = new MessageBuilder().Text($"后端推送了新的代码库\r\n详细信息:{date.message.text}").Build(); + var message = new MessageBuilder().Text($"后端推送了新的代码库\r\n详细信息:{date.message.text}"); + try + { + var image = await WebsiteScreenshot.CaptureWebsiteAsync("https://dev.azure.com/luolan/ASG/_git/asg_backend/commits"); + message.Image(image); + + } + + catch + { + } + message.Build(); await runbot.runbotr.SendMessageAsync(MessageEnvironment.Channel, "931217544", null, message, "931217544"); @@ -111,8 +146,7 @@ namespace asg_form.Controllers - - public class biliup + public class biliup { public int copyright { get; set; } public string source { get; set; } diff --git a/asg_form/Program.cs b/asg_form/Program.cs index 5e24fe7..bdd2383 100644 --- a/asg_form/Program.cs +++ b/asg_form/Program.cs @@ -18,6 +18,7 @@ using Mirai.Net.Sessions; using Mirai.Net.Sessions.Http.Managers; using System; using System.Data; +using System.Drawing; using System.Drawing.Drawing2D; using System.Reflection; using System.Text; @@ -240,6 +241,10 @@ new Thread(o => }) { IsBackground = true }.Start(); - +var image = await WebsiteScreenshot.CaptureWebsiteAsync("https://dev.azure.com/luolan/ASG/_git/asg_backend/commits"); +MemoryStream ms = new MemoryStream(image); +Image image1 = System.Drawing.Image.FromStream(ms); +image1.Save("/test.png"); + app.Run(); \ No newline at end of file