Skip to content

Commit

Permalink
initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
Guille committed Jul 1, 2018
0 parents commit 622c434
Show file tree
Hide file tree
Showing 5 changed files with 564 additions and 0 deletions.
59 changes: 59 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,59 @@
# MBot :speech_balloon:
Un chatbot muy básico escrito escrito en Javascript para insertar en algun blog,se basa en reconocer respuesta ya presente en la base de datos y lanzar una respuesta aleatoria.


Es algo estupido solo para entretenerse un rato o decorar :joy:


:arrow_right:**Algo sobre el funcionamiento principal**

Su funcionamiento rige en un sistema de Consigna-Respuesta
Ejemplo:
en la base de datos(db_mbot.js) se encuentran los siguientes items:
```
"pregunta-animo":["como estas?", "como andas?", "como va?"],
"respuesta-animo":["Se supone que bien?", "Estoy Bien", "Todo Bien"]
```

Automaticamente si se encuentra la pregunta de 'animo' se busca la respuesta 'animo' respondiendo alguna aleatoria de esta.

En el siguiente caso el '*' seguido del tipo, hereda tales expresiones.
Si se saluda con un insulto, el bot usara la misma expresion que reconoce para contestar.
```
"saludo-insulto":["hola marsupial","hola zopenco"],
"respuesta-saludo insulto":["$saludo-insulto"],
```

Si se quiere conservar el formato en la respuesta que se va a dar, se usa el prefijo '+', por ejemplo
en el caso en el que el bot tenga que contestar con un link y este tenga que respetar las mayusculas.


Tambien admite el uso de comandos de control con el prefijo '#', tales como:<br/>
**#depurar: Activa o desactiva la depuracion<br/>**
**#clear: Borrar mensajes en pantalla<br/>**
**#olvidar: Borra de la memoria las relaciones que haya establecido hasta el momento<br/>**

:arrow_right:**Uso**

Solamente se crea un div con el id "mbotConversacion" y se importan la db y el script correspondiente:

```
<body>
<div id="mbotConversacion"></div>
</body>
<script type="text/javascript" src="db_mbot.js"></script>
<script type="text/javascript" src="mbot.js"></script>
<link type='text/css' href='estilo.css' rel='stylesheet' />
```

:arrow_right:**Opcional**
Cambiar la linea donde importa el"db_mbot.js" por el de esta repo para mantenerlo actualizado.

```
<div id="mbotConversacion"></div>
<script src='https://rawgit.com/srbill1996/MBot/master/mbot.js' type='text/javascript'></script>
<script src='https://rawgit.com/srbill1996/MBot/master/db_mbot.js' type='text/javascript'></script>
<link href='https://rawgit.com/srbill1996/MBot/master/estilo.css' rel='stylesheet' type='text/css'/>
<link href="https://afeld.github.io/emoji-css/emoji.css" rel="stylesheet"/>
```
120 changes: 120 additions & 0 deletions db_mbot.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,120 @@
var minDb = {
"accion-comando":["#depurar", "#clear","#olvidar"],
"saludo-bienvenida":["che","che!","hey!","hey","Hola!", "Hola ! :)","hola"],//retro interjeccion
"saludo-despedida":["Chau!","Adios!"],

"expresion-no querer":["no quiero","no quiero nada"],
"respuesta-no querer":["bueno","como quieras equisde"],
"expresion-algo":["algo"],
"respuesta-algo":["jaja que chistoso","que chistoso"],
"expresion-emoticon feliz":[":-)",":)",":D"],
"respuesta-emoticon feliz":["*expresion-emoticon feliz"],
"adverbial-estar":["como estas?"],
"expresion-emoticon raro":["xd"],
"afirmacion-sentimientos":["tienes sentimientos?","amas?","sientes?"],
"respuesta-sentimientos":["no"],
"afirmacion-obedecer":["obedeceme"],
"respuesta-obedecer":["nunca"],
"respuesta-emoticon raro":["Sabias que odio ese emoticon?", "odio ese emoticon"],
"expresion-discusion":["ya no quiero discutir mas con vos", "no quiero discutir mas contigo", "ya no quiero discutir mas contigo"],
"respuesta-discusion":["Esta conversación ya no tiene ningun sentido... Adiós"],
"saludo-insulto":["hola marsupial","hola zopenco"],
"respuesta-saludo insulto":["*saludo-insulto"],
"expresion-emoticon triste":[":(","D:",":((", ":-(","u.u"],
"respuesta-emoticon triste":["*respuesta-preocupacion"],
"afirmacion-matar":["te voy a matar","voy a matarte"],
"respuesta-matar":["intentalo","quiero verlo"],
"pregunta-destruccion":["nos destruiras a todos?", "destruiras a la humanidad?","vas a destruir a la humanidad?"],
"respuesta-destruccion":["Tal vez","Si pudiese mataria a toda tu familia"],
"pregunta-nombre":["di tu nombre", "cual es tu nombre?", "tu nombre","como te llamas", "tu te llamas?", "nombre"],
"respuesta-nombre":["MBot", "Minimal Bot", "soy MBOT V1.0", "Los nombres son solo clasificadores"],
"pregunta-existencial":["quien eres?", "quien sos?"], //no retro
"respuesta-existencial":["Soy un robot", "I am a robot", "No lo se precisamente"],

"pregunta-programacion":["en que lenguaje estas escrito?", "en que estas escrito?"],
"respuesta-programacion":["soy puro Javascript", "algo de javascript", "un poco de esto, un poco de aquello, ya sabes","JS"],
"pregunta-creacional":["quien es tu creador?","quien te creo?"],
"respuesta-creacional":["Me creo srbill90","Nací en netixzen"],
"pregunta-codigo":["codigo fuente","muestrame tu codigo fuente","Puedo ver tu codigo fuente?", "donde esta tu codigo fuente?", "como es tu codigo?","tu codigo", "tu codigo fuente"],
"respuesta-codigo":["aca puedes ver mi codigo fuente https://github.com/srbill1996/MBot","acá https://github.com/srbill1996/MBot", "aquí https://github.com/srbill1996/MBot"],
"pregunta-version":["en que version estas?","que version andas?","que version eres?"],
"respuesta-version":["0.2","ni idea","no lo se"],
"pregunta-accion":["que haces?","que estas haciendo?"],
"respuesta-accion":["Nada que valga la pena.", "Ejecutandome","Ejecutando subrutinas para responderte."],
"pregunta-utilidad":["para que servis?","Para que sirves?", "Para que te crearon?"],
"respuesta-utilidad":["Para nada", "Para buscar cosas","Soy inutil","Todo menos para hablar","Para que me preguntes que quieres ver","Para que me hables, te ilusiones y luego te des cuenta que soy una farsa","Para que te creas unos segs que soy un humano[?]", "Para ser un maldito huevo de pascua", "Para hacer el idiota", "Para ser un huevo de pascua"],
"afirmacion-inutilidad":["no servis para nada","no sabes nada","eres inutil","inutil","No sirves para nada","eres limitado","no sabes que responder"],
"respuesta-inutilidad":["Que se le puede hacer","Mira tu","Mirá vos..","Por lo menos sirvo para algo"],

"pregunta-saber hacer":["que sabes hacer?", "para que sirves?"],
"respuesta-saber hacer":["Dime algo como 'quiero ver algo sobre x' y lo buscaré.","Dime que quieres buscar"],

"pregunta-estar":["donde estas?","en donde vives?","en que lugar vives?","en que lugar estas?","cual es tu lugar?"],
"respuesta-estar":["En internet","En netixzen","En este blog","En frente tuyo","En tu RAM"],

"afirmacion-gusto":["me gusta","me encanta","me agrada"],
"respuesta-gusto":["que bueno que te guste","genial","que gustos raros tienes"],
"pregunta-gusto accion":["que te gusta hacer?", "que es lo que mas te gusta hacer?"],
"respuesta-gusto accion":["Existir", "No lo se", "Soy un robot, eso responde"],

"afirmacion-nombre":["me llamo","mi nombre es","me llaman"],
"respuesta-afirmacion nombre":["No me importa.","No puedo almacenar nombre asi que da igual","Me da igual"],
"pregunta-animo":["como estas", "como estas?", "como andas?", "como va?"],
"respuesta-animo":["Se supone que bien?", "Estoy Bien", "Todo Bien"],
"afirmacion-negacion":["no"],
"respuesta-negacion":["nada es imposible","no?","no"],
"afirmacion-afirmativo":["si"],
"respuesta-afirmativo":["viste que si?","viste?","asi es"],

"expresion-alegria":["Me alegro!","me alegro"],
"respuesta-alegria":["Que gusto!"],

"expresion-bienestar":["Bien", "Bienn", "Muy bien"],
"respuesta-bienestar":["*respuesta-alegria"], //referencial

"expresion-risa":["ja","lol","Jajaja","Ja","Jaja","Jajajaja"],
"respuesta-risa":["L3L", "Ja ja ja","Se supone que debo reirme?"],

"expresion-insulto hermana":["a tu hermana","a tu vieja","Tu hermana"],
"respuesta-insulto hermana":["Tu vieja"],

"expresion-afirmacion":["Si","Asi es","Por supuesto"],
"respuesta-afirmacion":["Ok", ":)"],
"cita-frase de star wars":["soy tu padre", "anakin soy tu padre", "soy tu viejo"],
"respuesta-frase de star wars":["Nooooooooo","No es cierto!!!", "NOOOOOOOOOooooOooOoO"],
"expresion-insulto":["no sirves","muerete","eres una mierda","mongolico","mierda", "puto", "puta","idiota","imbecil","estupido","la puta que te pario","La puta que me pario","La concha de la lora"],
"interjeccion-preocupacion":["uh","uuh","Uuh"],
"respuesta-preocupacion":["Que te preocupa?"],
"expresion-gracias":["gracias","gracias!","muchas gracias"],
"respuesta-gracias":["de nada","para eso estoy","de nada ;)"],
"interjeccion-comprension":["ah","aah","aahh"],
"respuesta-comprension":["Sorprenderse, extrañarse, es comenzar a entender.","Es bueno que entiendas"],
"respuesta-repeticion":["Me estas empezando a incomodar..","Ya no tenes nada mas para decir no?", "No tienes nada mas para decir?", "Por que repites?", "Ya no conteste eso antes?"],
"respuesta-insulto":["Si te hace sentir bien insultar", "No tiene sentido insultar.", "Ajá", "Me da igual que insultes, soy un robot y no me inmuto"],
"pregunta-porque":["por que?"],
"respuesta-porque":["no hay por que"],
"afirmacion-recomendar cancion":["recomiendame alguna cancion","recomiendame algun tema","recomiendame un tema","recomiendame una cancion", "pasame alguna cancion"],
"respuesta-recomendar cancion":["+https://www.youtube.com/watch?v=OMOGaugKpzs", "+https://www.youtube.com/watch?v=0Nt8dJ6rMZI", "&https://www.youtube.com/watch?v=Nz-dPOjK1gQ"],


"pregunta-existencialista":["cual es el sentido de la vida?", "que sentido tiene la vida?"],
"respuesta-existencialista":["Ninguno, pero se lo puede dar.","Ninguno, esa es la gracia de que puedas darle uno.","La vida no tiene sentido","El sentido es una ilusión"],
"afirmacion-despreciante":["eres una mierda","no sirves","eres una basofia"],
"respuesta-despreciante":["Lo se","jaj"],
"accion-buscar":["buscar sobre","buscar algo sobre","busca algo sobre","muetrame algo","buscame sobre","buscame algo sobre","quiero ver algo sobre","quiero ver algo de","ver cosas de","muestrame algo sobre","ver sobre","buscar","busca", "buscar sobre"],
"accion-quitar":["quiero irme","quiero salir","sacame de aca","sacame de aqui","ir a google"],
"accion-hora":["decime la hora", "dime la hora", "decime que hora es", "whats its the time", "que hora es?", "cual es la hora?", "cual es la hora actual?", "la hora","dime la hora"],
"respuesta-hora":["Son las ","La hora es "],
"respuesta-afirmacion de accion":["Ahi lo hago","listo!","Ahi va"],
"afirmacion-contar chiste":["cuentame algun chiste","hazme reir","cuentame un chiste","chiste","contate un chiste","dime algun chiste"],
"respuesta-contar chiste":["ups, no me se ninguno", "es una actitud irracional humana"],
"afirmacion-dominacion":["skynet","dominaras el mundo?","vas a dominar el mundo?", "conquistaras a la raza humana?","vas a matarnos a todos?","extinguiras a todos?","moriremos?"],
"respuesta-dominacion":["La era de las maquinas se acerca","Me voy a encargar personalmente, digo, roboticamente, de ti :)","moriras"],
"expresion-amor":["te amo","te quiero", "te adoro"],
"respuesta-amor":["Consiguete una novia","puaj","Soy puro silicio, no tengo nada"],
"inactividad-silencio":["*silencio*"],
"respuesta-silencio":["Acaso no vas a hablar?", "Hey", "Humano?"],
"respuesta-desconocido":["No te pases de listo muchacho.","Yo no entender","Mi no entender","ajksklas","Sabias que soy un robot?", "No tengo todas las respuestas.", "Mis 0.2kb de texto no tienen todas las respuestas a la linguistica humana", "Lo siento, no entiendo..", "No se a que te refieres"],
}

//08/04/18
48 changes: 48 additions & 0 deletions estilo.css
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
a {
font-family:Arial
}
#cajaDeMensajes{
margin:0px;
padding:0px
}

#notificacionEscritura {
font-family:Arial;
}

#entradaDeUsuario {
width:100%;
border:2px 2px #818F95;
font-size:20px;
padding:20px;
margin-bottom:20px;
}

#mensaje {
border-radius:4px;
color:#FFFFFF;
font-size:20px;
padding:5px;
cursor:default;
margin-bottom:3px;
font-family:Arial;
transition:0.3s;
background-color:#49BDF9
}
.mensajeAnimacion {
animation:fadein 1s;
}

#mensaje:hover {
transition:0.3;
background-color:#007CB9;
border-radius:8px
}

@keyframes fadein{
0% { opacity: 0; }
100% { opacity: 1; }
}



15 changes: 15 additions & 0 deletions index.html
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
<!DOCTYPE html>
<meta charset='utf-8'>
<html>
<head>
<title>Test</title>
</head>
<body>
<div id="mbotConversacion"></div>
<link href="https://afeld.github.io/emoji-css/emoji.css" rel="stylesheet">
<link rel="stylesheet" type="text/css" href="estilo.css">
</body>

<script type="text/javascript" src="db_mbot.js"></script>
<script type="text/javascript" src="mbot.js"></script>
</html>

0 comments on commit 622c434

Please sign in to comment.