UNPKG

espchatbotapi

Version:

Un chatbot en español

130 lines (129 loc) 6.01 kB
const got = require("got") class Chatbot { constructor(token,id,contraseñadev){ if(!token) throw new Error('Falta el token.') if(!id) throw new Error('Falta la id del bot.') this.token = token this.id = id this.contraseñadev = contraseñadev this.basicurl = 'https://espchatbotapi.seyron.repl.co/api' this.url = `${this.basicurl}/${this.token}/${this.id}` this.urldev = `${this.basicurl}/${this.contraseñadev}/` this.urldev2 = `${this.url}/${this.contraseñadev}/` } enseñar(texto,respuesta){ if(!texto) throw new Error('Debe introducir el texto de entrada') if(!respuesta) throw new Error('Debe decirme la salida al texto de entrada') return new Promise((resolve, reject) => { let dta = new URLSearchParams({input:texto,output:respuesta}) if(this.contraseñadev !== undefined){ got.post(`${this.urldev2}?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) } else { got.post(`${this.url}?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) } }) } obtener(texto){ if(!texto) throw new Error('Debe introducir el texto de entrada') return new Promise((resolve, reject) => { let dta = new URLSearchParams({texto:texto}) got.get(`${this.url}?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) }) } borrar(entrada,salida){ if(!entrada) throw new Error('Debe introducir el texto de entrada') if(!salida) throw new Error('Debe introducir el texto de entrada') return new Promise((resolve, reject) => { let dta = new URLSearchParams({input:entrada,output:salida}) got.delete(`${this.url}?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) }) } generartoken(id){ if(!id) throw new Error('Debe introducir la id del usuario') return new Promise((resolve, reject) => { let dta = new URLSearchParams({id:id}) got.get(`${this.urldev}/generartoken?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) }) } borrartoken(id){ if(!id) throw new Error('Debe introducir la id del usuario') return new Promise((resolve, reject) => { let dta = new URLSearchParams({id:id}) got.get(`${this.urldev}/borrartoken?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) }) } seetoken(id){ if(!id) throw new Error('Debe introducir la id del usuario') return new Promise((resolve, reject) => { let dta = new URLSearchParams({id:id}) got.get(`${this.urldev}/token?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) }) } cambiardefault(texto){ if(!texto) throw new Error('Debe introducir el nuevo texto default') return new Promise((resolve, reject) => { let dta = new URLSearchParams({texto:texto}) got.put(`${this.url}?${dta.toString()}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) }) } obtenertodo(){ return new Promise((resolve, reject) => { got.patch(`${this.url}`,{json:true}).then(r => { let datos = r.body if(datos.error) return reject(datos.error) resolve(datos.resultado) }).catch(err => { return reject("Fallo al interactuar con la api posiblemente este offline.(vuelve a intentarlo)") }) }) } } module.exports = Chatbot