class Wiki
Constants
- LISTICLE_MIN_MATCH_RATIO
- MIN_RELEVANCE_SCORE
- SEARCH_LIMIT
Public Class Methods
Source
# File plugins/wiki.rb, line 68 def self.api_url(params) WikiSearch.api_url(params) end
Source
# File plugins/wiki.rb, line 100 def self.best_page(pages, query) WikiSearch.best_page(pages, query) end
Source
# File plugins/wiki.rb, line 72 def self.build_api_url(query, limit: SEARCH_LIMIT) WikiSearch.build_api_url(query, limit: limit) end
Source
# File plugins/wiki.rb, line 80 def self.build_opensearch_url(query, limit: SEARCH_LIMIT) WikiSearch.build_opensearch_url(query, limit: limit) end
Source
# File plugins/wiki.rb, line 76 def self.build_title_url(title) WikiSearch.build_title_url(title) end
Source
# File plugins/wiki.rb, line 88 def self.disambiguation_intro_only?(extract) WikiSearch.disambiguation_intro_only?(extract) end
Source
# File plugins/wiki.rb, line 84 def self.disambiguation_page?(page) WikiSearch.disambiguation_page?(page) end
Source
# File plugins/wiki.rb, line 28 def self.format_disambiguation(title, extract, url, items, more_count: 0) WikiReport.format_disambiguation(title, extract, url, items, more_count: more_count) end
Source
# File plugins/wiki.rb, line 24 def self.format_result(title, extract, url) WikiReport.format_result(title, extract, url) end
Source
# File plugins/wiki.rb, line 44 def self.listicle_title?(title) WikiSearch.listicle_title?(title) end
Source
# File plugins/wiki.rb, line 32 def self.normalize_extract(text) WikiReport.normalize_extract(text) end
Source
# File plugins/wiki.rb, line 36 def self.normalize_text(text) WikiSearch.normalize_text(text) end
Source
# File plugins/wiki.rb, line 104 def self.page_result(page, fetch: nil) WikiSearch.page_result(page, fetch: fetch) end
Source
# File plugins/wiki.rb, line 92 def self.parse_disambiguation_items(wikitext) WikiSearch.parse_disambiguation_items(wikitext) end
Source
# File plugins/wiki.rb, line 96 def self.parse_pages(json) WikiSearch.parse_pages(json) end
Source
# File plugins/wiki.rb, line 108 def self.parse_response(json, query: nil, fetch: nil) WikiSearch.parse_response(json, query: query, fetch: fetch) end
Source
# File plugins/wiki.rb, line 52 def self.possessive_title_candidates(query) WikiSearch.possessive_title_candidates(query) end
Source
# File plugins/wiki.rb, line 40 def self.query_tokens(query) WikiSearch.query_tokens(query) end
Source
# File plugins/wiki.rb, line 48 def self.score_title(title, query) WikiSearch.score_title(title, query) end
Source
# File plugins/wiki.rb, line 112 def self.search(query, fetch:) WikiSearch.search(query, fetch: fetch) end
Source
# File plugins/wiki.rb, line 60 def self.search_query_variants(query) WikiSearch.search_query_variants(query) end
Source
# File plugins/wiki.rb, line 64 def self.title_candidates(query) WikiSearch.title_candidates(query) end
Source
# File plugins/wiki.rb, line 56 def self.titleize_query(query) WikiSearch.titleize_query(query) end
Public Instance Methods
Source
# File plugins/wiki.rb, line 124 def execute(m, query) themed_safe_reply(m, search(query), plugin: "wiki") end
Source
# File plugins/wiki.rb, line 120 def fetch_json(url) RabbotHttp.fetch(url) end
Source
# File plugins/wiki.rb, line 116 def search(query, fetch: method(:fetch_json)) self.class.search(query, fetch: fetch) end
Source
# File plugins/wiki.rb, line 128 def themed_safe_reply(message, text, plugin: nil) plugin_name = (plugin || self.class.name).to_s.downcase network = bot.config.server channel = message.channel&.name themed = if network && channel ThemeOutput.apply(network: network, channel: channel, plugin: plugin_name, text: text) else text.to_s end safe_reply(message, themed) end