Comparing version 0.1.3 to 0.1.4
@@ -1,5 +0,31 @@ | ||
const quickAnswer = q => { | ||
if (q.includes('מזג')){ | ||
return 'mazg' | ||
import puppeteer from 'puppeteer'; | ||
const CATCH = new Map() | ||
export default async function quickAnswer(question){ | ||
let res = {}; | ||
let err = 'לא מצאתי תשובה ל' + question; | ||
try { | ||
let url = `https://google.com/search?q=${question}&hl=he` | ||
if (CATCH.has(url)) return CATCH.get(url) | ||
const browser = await puppeteer.launch({ args: ['--no-sandbox'] }); | ||
const context = await browser.createIncognitoBrowserContext() | ||
const page = await context.newPage(); | ||
await page.goto(url); | ||
let answer1 = await page.$('div[data-attrid]') | ||
let answer2 = await page.$('div[data-attrid="wa:/description"]') | ||
let wiki = await page.$('div[data-attrid="description"]') | ||
if(answer1) { | ||
let result = await page.evaluate( () => [...new Set([...document | ||
.querySelectorAll('div[data-attrid]')] | ||
.filter(x => x.innerText !=='') | ||
.map(x => x.innerText.replace('תיאור\n','').replace('\nמשוב','')))]) | ||
res.answers = Object.assign({}, result) | ||
} | ||
await context.close(); | ||
CATCH.set(url, res) | ||
return res | ||
} catch (error) { | ||
console.log(error); | ||
return error | ||
} | ||
} |
@@ -88,3 +88,22 @@ import getWeather from './controllers/getWeather.js'; | ||
} | ||
async lyrics (name:string, translate?:boolean = false) { | ||
try { | ||
let answer = await getLyrics(name,translate); | ||
console.log(answer); | ||
return answer; | ||
} catch (error) { | ||
console.log(error); | ||
return error; | ||
} | ||
} | ||
async quickAnswer (question:string) { | ||
try { | ||
let answer = await quickAnswer(question); | ||
console.log(answer); | ||
return answer; | ||
} catch (error) { | ||
console.log(error); | ||
return error; | ||
} | ||
} | ||
} |
27
index.js
@@ -8,3 +8,6 @@ import getWeather from './controllers/getWeather.js'; | ||
import nakdan from './controllers/getNikud.js'; | ||
import getLyrics from './controllers/getLyrics.js'; | ||
import quickAnswer from './controllers/quickAnswer.js' | ||
import fs from 'fs' | ||
export default class Answers { | ||
@@ -91,2 +94,22 @@ async weather(city) { | ||
} | ||
async lyrics (name, translate) { | ||
try { | ||
let answer = await getLyrics(name,translate); | ||
console.log(answer); | ||
return answer; | ||
} catch (error) { | ||
console.log(error); | ||
return error; | ||
} | ||
} | ||
async quickAnswer (question) { | ||
try { | ||
let answer = await quickAnswer(question); | ||
console.log(answer); | ||
return answer; | ||
} catch (error) { | ||
console.log(error); | ||
return error; | ||
} | ||
} | ||
} | ||
@@ -100,3 +123,5 @@ export { | ||
getNews, | ||
nakdan | ||
getLyrics, | ||
nakdan, | ||
quickAnswer, | ||
} |
{ | ||
"name": "hejs", | ||
"version": "0.1.3", | ||
"homepage": "https://github.com/gurelbs/hejs#readme", | ||
"description": "open-source engine with API for Real-time questions In Hebrew.", | ||
"version": "0.1.4", | ||
"type": "module", | ||
"main": "index.js", | ||
"type": "module", | ||
"scripts": {}, | ||
"keywords": ["hebrew", "API","real-time", "hejs"], | ||
"keywords": [ | ||
"hebrew", | ||
"api", | ||
"questions", | ||
"real-time" | ||
], | ||
"author": "Gurel Ben Shabat", | ||
@@ -14,3 +20,6 @@ "license": "ISC", | ||
"typescript": "^4.4.2" | ||
}, | ||
"engines": { | ||
"node": "14.x" | ||
} | ||
} |
No website
QualityPackage does not have a website.
Found 1 instance in 1 package
21439
15
634
1