public static async Task HandleAdded(LineNews lineNews) { // Localize the embed title Dictionary <Language, string> localizedTitles = Localizer.LocalizeToAllLanguagesWithFormat("line_news.title", Nintendo.SmashUltimate.Bcat.Container.LanguageOrder, lineNews.Id); // Localize the embed description // Dictionary<Language, string> localizedDescriptions = Localizer.LocalizeToAllLanguages("line_news.more_info", $"https://smash.oatmealdome.me/line_news/{lineNews.Id}/{pair.Key.GetCode()}/"); // Create localized Embeds LocalizedEmbedBuilder localizedEmbedBuilder = new LocalizedEmbedBuilder(Nintendo.SmashUltimate.Bcat.Container.LanguageOrder) .WithTitle(localizedTitles) //.WithDescription(localizedDescriptions) .AddField("line_news.start_time", Localizer.LocalizeDateTimeToAllLanguages(lineNews.StartDateTime)) .AddField("line_news.end_time", Localizer.LocalizeDateTimeToAllLanguages(lineNews.EndDateTime)); // Add every OneLine foreach (OneLine oneLine in lineNews.OneLines) { localizedEmbedBuilder.AddField(Localizer.LocalizeToAllLanguagesWithFormat("line_news.line_title", oneLine.Id), oneLine.Text); } // Create localized Embeds Dictionary <Language, Embed> localizedEmbeds = localizedEmbedBuilder.Build(); // Send the notifications await DiscordBot.SendNotificationAsync("**[Line News]**", localizedEmbeds); }
/// <summary> /// Przenosi do strony wybranej wiadomości /// </summary> /// <param name="obj">Wybrana wiadomość</param> private void OpenWebsite(object obj) { if (LineNews.Any()) { if (string.IsNullOrEmpty(LineNews[SelectedIndexListBoxNews].UrlNews) == false) { System.Diagnostics.Process.Start(LineNews[SelectedIndexListBoxNews].UrlNews); } } }
public static void HandleAdded(LineNews lineNews) { // Get the tweet header string tweetHeader = Localizer.Localize("twitter.line_news.header", Language.EnglishUS); // Get the tweet content string tweetContent = $"\"{lineNews.OneLines[0].Text[Language.EnglishUS]}\" and more..."; // Get the tweet URL component string tweetUrl = string.Format(Localizer.Localize("twitter.line_news.url", Language.EnglishUS), $"https://smash.oatmealdome.me/line_news/{lineNews.Id}/en-US/"); // Send the tweet TwitterManager.GetAccount("SSBUBot").Tweet(tweetHeader, tweetContent, tweetUrl); }
public async Task Execute(string id = null, string languageString = null) { // Get the language Language language = DiscordUtil.GetDefaultLanguage(Context.Guild, languageString); // Check for no ID if (id == null) { await ListCommand.ListContainers(FileType.LineNews, language, Context); return; } // Get the PopUpNews with this ID LineNews lineNews = ContainerCache.GetLineNewsWithId(id); // Check if this exists if (lineNews == null) { throw new LocalizedException("line_news.not_found"); } // Localize the title string titleKey = "line_news.title"; string localizedTitle = string.Format(Localizer.Localize(titleKey, language), lineNews.Id); // Localize the description string descriptionKey = "line_news.description"; string localizedDescription = string.Format(Localizer.Localize(descriptionKey, language), $"https://smash.oatmealdome.me/line_news/{lineNews.Id}/{language.GetCode()}/"); // Localize the line field name string lineFieldNameKey = "line_news.line_title"; string localizedLineFieldName = Localizer.Localize(lineFieldNameKey, language); // Construct the Embed EmbedBuilder embedBuilder = new EmbedBuilder() .WithTitle(localizedTitle) //.WithDescription(localizedDescription) .AddField(Localizer.Localize("line_news.start_time", language), Localizer.LocalizeDateTime(lineNews.StartDateTime, language), true) .AddField(Localizer.Localize("line_news.end_time", language), Localizer.LocalizeDateTime(lineNews.EndDateTime, language), true); // Add every OneLine foreach (OneLine oneLine in lineNews.OneLines) { embedBuilder.AddField(string.Format(localizedLineFieldName, oneLine.Id), oneLine.Text[language]); } await Context.Channel.SendMessageAsync(embed : embedBuilder.Build()); }
/// <summary> /// Wywołuje funkcje usuwania wiadomości z bazy danych i usuwa ją z wyświetlanej listy /// </summary> /// <param name="obj"> id wiadomości do usunięcia</param> private void Delete(object obj) { RSSrepo rssRepo = new RSSrepo(); string id = (string)obj; rssRepo.DeleteSelectedArticle(ArchiveListCategories, id); if (LineNews.Count != 0) { LineNews.Remove(LineNews.First(n => n.Id == id)); if (SelectedIndexListBoxNews < 0) { SelectedIndexListBoxNews = 0; } } }