private async void ProcessPayload(string payload) { try { GitHubWebHookData ghdata = JsonConvert.DeserializeObject <GitHubWebHookData>(payload); if (ghdata.action == "released") { EmbedBuilder eb = null; eb = new EmbedBuilder { Color = new Color((uint)EmbedColor.SalmonPink) }; eb.WithAuthor("I've heard some great news!"); eb.WithThumbnailUrl(ghdata.repository.html_url + "/raw/master/thumbnail.png"); eb.WithTitle(ghdata.release.name); eb.WithUrl(ghdata.release.html_url); eb.WithDescription("There is a new version of Miharu Available!"); List <string> tags = new List <string>(); tags.Add("Miharu"); await DiscordAPIHelper.PublishNews(eb, _databaseManager, _discordSocketClient, tags.ToArray()); } } catch (Exception e) { Logger.LogError("Error processing GitHub release payload: " + e.Message); } }
private async void OnRSSUpdateAsync(object sender, RSSUpdateEventArgs e) { EmbedBuilder eb = new EmbedBuilder { Color = new Color((uint)EmbedColor.SalmonPink) }; eb.WithAuthor("I've heard some great news!"); eb.WithTitle(e.Update.Title.Text); eb.WithUrl(e.Update.Id); eb.WithFooter($"There is a new chapter available to read!"); int idIndex = e.Feed.Id.LastIndexOf("/") + 1; int id = -1; string imageUrl = null; if (int.TryParse(e.Feed.Id.Substring(idIndex), out id)) { imageUrl = $"https://mangadex.org/images/manga/{id}."; } if (imageUrl != null) { if (DoesImageExist(ref imageUrl)) { eb.WithImageUrl(imageUrl); } } await DiscordAPIHelper.PublishNews(eb, _databaseManager, _discordSocketClient, e.Feed.Tag); }
private async void ProcessPayload(string payload) { try { EmbedData embedData = JsonConvert.DeserializeObject <EmbedData>(payload); EmbedBuilder eb = null; eb = new EmbedBuilder { Color = new Color(embedData.Color ?? (uint)EmbedColor.SalmonPink) }; eb.Title = embedData.Title; eb.Description = embedData.Description; eb.Url = embedData.URL; eb.ImageUrl = embedData.IconURL; if (embedData.Author != null && embedData.Author != "") { eb.WithAuthor(embedData.Author, embedData.AuthorIconURL, embedData.AuthorURL); } if (embedData.Fields != null) { foreach (EmbedFieldData efdata in embedData.Fields) { if ((efdata.Name ?? "") != "" && (efdata.Value ?? "") != "") { eb.AddField(efdata.Name, efdata.Value, efdata.Inline); } } } if ((embedData.Footer ?? "") != "") { eb.WithFooter(embedData.Footer, embedData.FooterIcon); } List <string> tags = new List <string>(); foreach (string tag in embedData.Tags) { tags.Add(tag); } await DiscordAPIHelper.PublishNews(eb, _databaseManager, _discordSocketClient, tags.ToArray()); } catch (Exception e) { Logger.LogError("Error processing " + Prefix + " payload: " + e.Message); } }