misc.search: default results 2, --results=num (req by vin)
This commit is contained in:
parent
477f49f473
commit
906baf31c2
1 changed files with 9 additions and 7 deletions
|
@ -552,23 +552,25 @@ search.helpText = "Search, powered by LibreX";
|
||||||
search.addAlias("g");
|
search.addAlias("g");
|
||||||
search.addAlias("google");
|
search.addAlias("google");
|
||||||
search.addAlias("ddg");
|
search.addAlias("ddg");
|
||||||
search.callback = async function (msg, line) {
|
search.callback = async function (msg, line, {results = 2}, [query]) {
|
||||||
if (!librex) return "LibreX instance not defined.";
|
if (!librex) return "LibreX instance not defined.";
|
||||||
if (!line || line == "") return "Search query required.";
|
if (!query || query == "") return "Search query required.";
|
||||||
|
|
||||||
const query = encodeURIComponent(line);
|
const encodedQuery = encodeURIComponent(line);
|
||||||
|
|
||||||
if (line.startsWith("!")) {
|
if (line.startsWith("!")) {
|
||||||
const url = `https://api.duckduckgo.com/?q=${query}&format=json`;
|
const url = `https://api.duckduckgo.com/?q=${encodedQuery}&format=json`;
|
||||||
const res = await fetch(url);
|
const res = await fetch(url);
|
||||||
if (res.url != url) return res.url;
|
if (res.url != url) return res.url;
|
||||||
}
|
}
|
||||||
|
|
||||||
const res = await fetch(`${librex}/api.php?q=${query}&p=0&t=0`);
|
const res = await fetch(`${librex}/api.php?q=${encodedQuery}&p=0&t=0`);
|
||||||
const results = await res.json().then((arr) => arr.splice(0, 5));
|
const searchResults = await res
|
||||||
|
.json()
|
||||||
|
.then((arr) => arr.splice(0, Number(results)));
|
||||||
|
|
||||||
let out = `__**Results for \`${safeString(line)}\`**__\n`;
|
let out = `__**Results for \`${safeString(line)}\`**__\n`;
|
||||||
for (const result of results) {
|
for (const result of searchResults) {
|
||||||
if (result.special_response) {
|
if (result.special_response) {
|
||||||
out += "> " + result.special_response.response.split("\n").join("\n> ");
|
out += "> " + result.special_response.response.split("\n").join("\n> ");
|
||||||
out += `\n<${result.special_response.source}>`;
|
out += `\n<${result.special_response.source}>`;
|
||||||
|
|
Loading…
Reference in a new issue