Bots
Google Cloud Platform
SUCRE - 2016
Bot
Programa informático que imita el comportamiento de un humano
Chatbot
Agente con el cual se puede entablar una conversación por chat
Algunos ejemplos
¿Tendencia?
Telegram Bot API
Microsoft Bot Framework
Messenger Platform
Chatbots
VS
Apps Móviles
Problema de las aplicaciones móviles
-
Competencia
-
Instalación
-
Actualizaciones
-
Espacio
-
Alta probabilidad de desinstalación
-
Tiempo de diseño y desarrollo (cámara, notificaciones, localización)
Crear un bot
1 000 000 000 cuentas
Nuestro Backend
Bot
Conversaciones
Botkit
controller.hears(
['gato', 'gatos', 'gatito', 'gatitos'],
['ambient', 'direct_message', 'direct_mention', 'mention'],
function (bot, message) {
bot.startConversation(message, function (err, convo) {
if (err) {
console.log(err)
return
}
convo.ask('¿Quiéres que te envie gatitos? Dime SI o NO.', [
{
pattern: bot.utterances.yes,
callback: function (response, convo) {
convo.say('¡Genial!')
convo.ask('¿Cuantos?', [
{
pattern: '[0-9]+',
callback: function (response, convo) {
var numCats =
parseInt(response.text.replace(/[^0-9]/g, ''), 10)
if (numCats === 0) {
convo.say({
'text': 'Lo siento pero yo no puedo enviarte cero gatos. ' +
'Toma un perro. :dog:',
'attachments': [
{
'fallback': 'Chihuahua Bubbles - https://youtu.be/s84dBopsIe4',
'text': '<https://youtu.be/s84dBopsIe4|' +
'Chihuahua Bubbles>!'
}
]
})
} else if (numCats > maxCats) {
convo.say('Lo siento, ' + numCats + ' es muchos gatos.')
} else {
var catMessage = ''
for (var i = 0; i < numCats; i++) {
catMessage = catMessage +
catEmojis[Math.floor(Math.random() * catEmojis.length)]
}
convo.say(catMessage)
}
convo.next()
}
},
{
default: true,
callback: function (response, convo) {
convo.say(
"Mmmmm no te entiendo. Ingresa un número, por favor.")
convo.repeat()
convo.next()
}
}
])
convo.next()
}
},
{
pattern: bot.utterances.no,
callback: function (response, convo) {
convo.say('Bueno, quizás luego.')
convo.next()
}
},
{
default: true,
callback: function (response, convo) {
// Repeat the question.
convo.repeat()
convo.next()
}
}
])
})
})
Wit.ai
Un chatbot
Node.js
Google Cloud Vision
Google Places
API Temperatura