public async Task SearchAsync(CommandContext ctx, [RemainingText, Description("desc-query")] string query) { if (string.IsNullOrWhiteSpace(query)) { throw new InvalidCommandUsageException(ctx, "cmd-err-query"); } WikiSearchResponse?res = await WikiService.SearchAsync(query); if (res is null || !res.Any()) { await ctx.FailAsync("cmd-err-res-none"); return; } await ctx.PaginateAsync(res, (emb, r) => { emb.WithTitle(r.Title); emb.WithDescription(r.Snippet); emb.WithUrl(r.Url); emb.WithLocalizedFooter("fmt-powered-by", WikiService.WikipediaIconUrl, "Wikipedia API"); return(emb); }, this.ModuleColor); }
/// <summary> /// Takes the user input and uses the WikiService to look up the term in Wikipedia and post the abstract to the user /// </summary> /// <param name="context"></param> /// <param name="result"></param> /// <returns></returns> private async Task MessageReceivedAsync(IDialogContext context, IAwaitable <object> result) { var activity = await result as Activity; await context.PostAsync(await WikiService.GetAbstract(activity.Text)); context.Done(string.Empty); }
public WikiModule(UserService userService, WikiService wikiService, MessageService messageService) { _userService = userService; _wikiService = wikiService; _messageService = messageService; _adminChannelId = Configuration.GetVariable("Guild.AdminChannelId"); _botChannelId = Configuration.GetVariable("Guild.BotCommandsChannelId"); _scriptingChannelId = Configuration.GetVariable("Guild.ScriptingChannelId"); _wikiSearchUrl = Configuration.GetVariable("Urls.Wiki.Seach"); }
public static async Task <bool> PerformDatabaseInitSteps(this WikiService wiki) { var actionNeeded = false; actionNeeded |= await wiki.EnsureIndexPageExists(); actionNeeded |= await wiki.EnsurePageIndicesExist(); return(actionNeeded); }
/// <summary> /// 用户首页显示的贡献词条数 /// </summary> /// <returns></returns> public ActionResult _AllWikisCount() { long allWikiCount = new WikiService().Gets(TenantTypeIds.Instance().Wiki(), null, true, null, string.Empty, null).TotalRecords; if (UserContext.CurrentUser != null) { ViewData["myEditCount"] = wikiService.GetOwnerPages(TenantTypeIds.Instance().Wiki(), UserContext.CurrentUser.UserId, true, string.Empty, 10, 1).TotalRecords; } return(View(allWikiCount)); }
public ActionResult Edit(string id, Wiki wiki) { try { WikiService.GetInstance().Update(wiki, id); return(RedirectToAction("Management")); } catch { return(View()); } }
public ActionResult Create(Wiki wiki) { try { WikiService.GetInstance().Add(wiki); return(RedirectToAction("Management")); } catch { return(View()); } }
private static async Task <bool> EnsureIndexPageExists(this WikiService wiki) { if (!await wiki.CheckPageExists(slug: "index")) { var indexPage = new Page(slug: "index", title: "Welcome!"); await wiki.CreatePageAsync(page : indexPage); return(true); } return(false); }
// // GET: /Wiki/Details/5 public ActionResult Details(string title) { var model = WikiService.GetInstance().Get(title); if (model == null) { return(RedirectToAction("Create")); } Title = model.Title; var wikiEngine = new WikiEngine.WikiEngine(); model.Body = wikiEngine.Explain(model.Body); return(View(model)); }
public async Task SearchAsync(CommandContext ctx, [RemainingText, Description("Query.")] string query) { var res = await WikiService.SearchAsync(query); if (res is null || !res.Any()) { await this.InformOfFailureAsync(ctx, "No results..."); return; } await ctx.Client.GetInteractivity().SendPaginatedMessageAsync(ctx.Channel, ctx.User, res.Select(r => new Page(embed: new DiscordEmbedBuilder { Title = r.Title, Description = string.IsNullOrWhiteSpace(r.Snippet) ? "No description provided" : r.Snippet, Url = r.Url, Color = this.ModuleColor }.WithFooter("Powered by Wikipedia API", WikiService.WikipediaIconUrl)))); }
public ActionResult Edit(string id) { var model = WikiService.GetInstance().GetById(id); return(View(model)); }
public ActionResult Delete(string id) { WikiService.GetInstance().Delete(id); return(RedirectToAction("Management")); }
public ActionResult Management() { var model = WikiService.GetInstance().List(); return(View(model)); }
void wikiService_GetArticleCompleted(object sender, WikiService.GetArticleCompletedEventArgs e) { if (e.Error != null) { Dispatcher.BeginInvoke(() => { ChangeLoadState(false); ShowPopupMessage("Connection error"); }); } else { var article = e.Result; Dispatcher.BeginInvoke(() => { WikiBrowser.Opacity = 0.0; Model.WikiUrl = article.Url; Model.WikiTitle = article.Title; var wikiStyles = "<meta content=\"text/html; charset=UTF-8\" http-equiv=\"Content-Type\"><style>\n"; wikiStyles += "a, a:hover, a:visited { text-decoration: none; color:" + ConvertColorToHex(accentBrush.Color) + "; }\n"; wikiStyles += "img { border: 0; }\n"; wikiStyles += "body { font-family: Segoe UI Light; margin:0; padding:0; background-color:" + ConvertColorToHex(phoneBackgroundBrush.Color) + "; color:" + ConvertColorToHex(phoneForegroundBrush.Color) + ";}\n"; wikiStyles += "</style>"; Model.WikiHtml = ConvertExtendedASCII(string.Format("<html><head>{1}</head><body bgcolor=\"" + ConvertColorToHex(phoneBackgroundBrush.Color) + "\"><p>{0}</p></body></html>", article.Body, wikiStyles)); WikiBrowser.NavigateToString(Model.WikiHtml); //WikiBrowser.NavigateToString(GetWikiHtml(html)); //WikiListBox.UpdateLayout(); //WikiListBox.ScrollIntoView(WikiListBox.Items.First()); ChangeLoadState(false); }); } }
public AppController(WikiService service) => this.wiki = service;
private static async Task <bool> EnsurePageIndicesExist(this WikiService wiki) { var wikiCollation = new BsonDocument {
public IndexModel(WikiService wiki, SteamService steam) { _wiki = wiki; _steam = steam; }
public ImageController(WikiService wiki) { _wiki = wiki; }