diff --git a/.hubot_history b/.hubot_history deleted file mode 100644 index 1385f264afb75a56a5bec74243be9b367ba4ca08..0000000000000000000000000000000000000000 --- a/.hubot_history +++ /dev/null @@ -1 +0,0 @@ -hey diff --git a/launch.sh b/launch.sh deleted file mode 100755 index c920a9470ac00aaed928c25d9b809e49897e0fc5..0000000000000000000000000000000000000000 --- a/launch.sh +++ /dev/null @@ -1,16 +0,0 @@ -#!/bin/bash -export HUBOT_ADAPTER=rocketchat -export HUBOT_OWNER=RocketChat -export HUBOT_NAME='CatBot' -export HUBOT_DESCRIPTION="Processamento de linguagem natural com hubot" -export ROCKETCHAT_URL=https://chat.dorgam.it -export ROCKETCHAT_ROOM=GENERAL -export RESPOND_TO_DM=true -export RESPOND_TO_LIVECHAT=true -export ROCKETCHAT_USER=catbot -export ROCKETCHAT_PASSWORD='botPassword' -export ROCKETCHAT_AUTH=password -export HUBOT_LOG_LEVEL=debug -export HUBOT_CORPUS='catbot-en.yml' -export HUBOT_LANG='en' -bin/hubot -a rocketchat diff --git a/scripts/events/configure.coffee b/scripts/actions/configure.coffee similarity index 63% rename from scripts/events/configure.coffee rename to scripts/actions/configure.coffee index e62226f7b106ce65e0d98fe9bfd2a3493205e715..b8b164886e012026fdbe526bb9381805537762e1 100644 --- a/scripts/events/configure.coffee +++ b/scripts/actions/configure.coffee @@ -1,34 +1,37 @@ require 'coffeescript/register' -path = require 'path' -natural = require 'natural' +classifier = require '../bot/classifier' +security = require '../lib/security' +{ msgVariables, stringElseRandomKey, + loadConfigfile, getConfigFilePath } = require '../lib/common' -{ msgVariables, stringElseRandomKey, loadConfigfile, getConfigFilePath } = require '../lib/common' -{ checkRole } = require '../lib/security.coffee' - -answers = {} - -class configure +class Configure constructor: (@interaction) -> process: (msg) => if @interaction.role? - if checkRole(msg, @interaction.role) - @act(msg) - else - msg.sendWithNaturalDelay "*Acces Denied* Action requires role #{@interaction.role}" + if security.checkRole(msg, @interaction.role) + @act(msg) + else + msg.sendWithNaturalDelay( + "*Acces Denied* Action requires role #{@interaction.role}" + ) else @act(msg) setVariable: (msg) -> - configurationBlock = msg.message.text.replace(msg.robot.name + ' ', '') - .split(' ')[-1..].toString() + raw_message = msg.message.text.replace(msg.robot.name + ' ', '') + configurationBlock = raw_message.split(' ')[-1..].toString() + configKeyValue = configurationBlock.split('=') configKey = configKeyValue[0] configValue = configKeyValue[1] + key = 'configure_' + configKey + '_' + msg.envelope.room msg.robot.brain.set(key, configValue) + type = @interaction.type?.toLowerCase() or 'random' + switch type when 'block' messages = @interaction.answer.map (line) -> @@ -36,15 +39,16 @@ class configure msg.sendWithNaturalDelay messages when 'random' message = stringElseRandomKey @interaction.answer - message = msgVariables message, msg, { key: configKey, value: configValue } + message = msgVariables(message, msg, { + key: configKey, + value: configValue + }) msg.sendWithNaturalDelay message return retrain: (msg) -> - console.log 'inside retrain' - scriptPath = path.join __dirname, '..' global.config = loadConfigfile getConfigFilePath() - global.train() + classifier.train() type = @interaction.type?.toLowerCase() or 'random' switch type @@ -59,13 +63,13 @@ class configure return act: (msg) -> - action = @interaction.action or 'setVariable' - console.log action - switch action + command = @interaction.command or 'setVariable' + console.log command + switch command when 'setVariable' @setVariable(msg) when 'train' @retrain(msg) return -module.exports = configure +module.exports = Configure diff --git a/scripts/events/error.coffee b/scripts/actions/error.coffee similarity index 70% rename from scripts/events/error.coffee rename to scripts/actions/error.coffee index ebc34daf443cd17f255c9fee4c95ab52af48a67a..1b46548c320e9b374112dcc67648921861c23c11 100644 --- a/scripts/events/error.coffee +++ b/scripts/actions/error.coffee @@ -1,10 +1,8 @@ -path = require 'path' -natural = require 'natural' +require 'coffeescript/register' -{ msgVariables, stringElseRandomKey } = require path.join '..', 'lib', 'common.coffee' -answers = {} +{ msgVariables, stringElseRandomKey } = require '../lib/common' -class error +class Error constructor: (@interaction) -> process: (msg) => type = @interaction.type?.toLowerCase() or 'random' @@ -18,4 +16,4 @@ class error message = msgVariables message, msg msg.sendWithNaturalDelay message -module.exports = error +module.exports = Error diff --git a/scripts/events/respond.coffee b/scripts/actions/respond.coffee similarity index 82% rename from scripts/events/respond.coffee rename to scripts/actions/respond.coffee index 18a7e143b74c82f8285a37292b88c4b8ddaefa0e..6b0f927c5119ed0521cdc80a8cff47b6563ce196 100644 --- a/scripts/events/respond.coffee +++ b/scripts/actions/respond.coffee @@ -1,15 +1,16 @@ -path = require 'path' -natural = require 'natural' +require 'coffeescript/register' + +{ msgVariables, stringElseRandomKey } = require '../lib/common' -{ msgVariables, stringElseRandomKey } = require path.join '..', 'lib', 'common.coffee' -answers = {} livechat_department = (process.env.LIVECHAT_DEPARTMENT_ID || null ) -class respond +class Respond constructor: (@interaction) -> process: (msg) => lc_dept = @interaction.department or livechat_department - offline_message = @interaction.offline or 'Sorry, there is no online agents to transfer to.' + offline_message = ( + @interaction.offline or 'Sorry, there is no online agents to transfer to.' + ) type = @interaction.type?.toLowerCase() or 'random' switch type when 'block' @@ -21,8 +22,8 @@ class respond message = msgVariables message, msg msg.sendWithNaturalDelay message - action = @interaction.action?.toLowerCase() or false - switch action + command = @interaction.command?.toLowerCase() or false + switch command when 'transfer' @livechatTransfer(msg, 3000, lc_dept, offline_message, type) @@ -47,4 +48,4 @@ class respond msg.sendWithNaturalDelay message ), delay) -module.exports = respond +module.exports = Respond diff --git a/scripts/bot/action-handler.coffee b/scripts/bot/action-handler.coffee new file mode 100644 index 0000000000000000000000000000000000000000..568082693df07594feeb869c6de8f50ce92962b8 --- /dev/null +++ b/scripts/bot/action-handler.coffee @@ -0,0 +1,30 @@ +actionHandler = {} + +fs = require 'fs' +path = require 'path' + +actionsPath = path.join __dirname, '..', 'actions' +actions = {} + +nodes = {} +err_nodes = 0 + +actionHandler.registerActions = (config) -> + for action in fs.readdirSync(actionsPath).sort() + action_name = action.replace /\.coffee$/, '' + actions[action_name] = require path.join actionsPath, action + + for interaction in config.interactions + { name, action } = interaction + nodes[name] = new actions[action] interaction + + if name.substr(0, 5) == "error" + err_nodes++ + +actionHandler.errorNodesCount = () -> + return err_nodes + +actionHandler.takeAction = (name, res) -> + nodes[name].process(res) + +module.exports = actionHandler diff --git a/scripts/bot/classifier.coffee b/scripts/bot/classifier.coffee new file mode 100644 index 0000000000000000000000000000000000000000..535ef9e20d4a00114128e65626e9566ee222c6a9 --- /dev/null +++ b/scripts/bot/classifier.coffee @@ -0,0 +1,185 @@ +require 'coffeescript/register' + +natural = require 'natural' + +classifier = {} + +lang = (process.env.HUBOT_LANG || 'en') + +PorterStemmer = natural.PorterStemmer +if lang != 'en' + lang_captilize = lang.charAt(0).toUpperCase() + lang.slice(1) + PorterStemmer = natural['PorterStemmer' + lang_captilize] + +actionHandler = require './action-handler' + +# Classifier that holds all root level interactions +root_classifier = {} +error_count = 0 + +classifyInteraction = (interaction, classifier) -> + if Array.isArray interaction.expect + for doc in interaction.expect + if interaction.multi == true + classifier.addDocument(doc, interaction.name + '|' + doc) + else + classifier.addDocument(doc, interaction.name) + + if Array.isArray interaction.next?.interactions + interaction.next.classifier = new natural.LogisticRegressionClassifier( + PorterStemmer + ) + for nextInteractionName in interaction.next.interactions + nextInteraction = global.config.interactions.find (n) -> + return n.name is nextInteractionName + if not nextInteraction? + console.log 'No valid interaction for', nextInteractionName + continue + classifyInteraction nextInteraction, interaction.next.classifier + interaction.next.classifier.train() + + if interaction.multi == true + interaction.classifier = new natural.LogisticRegressionClassifier( + PorterStemmer + ) + for doc in interaction.expect + interaction.classifier.addDocument(doc, doc) + interaction.classifier.train() + +classifier.train = () -> + console.log 'Processing interactions' + console.time 'Processing interactions (Done)' + + root_classifier = new natural.LogisticRegressionClassifier(PorterStemmer) + + for interaction in global.config.interactions + if interaction.level != 'context' + classifyInteraction interaction, root_classifier + + console.log('\tProcessing interaction: ' + interaction.name) + + console.log 'Training Bot (This could be take a while...)' + root_classifier.train() + + console.timeEnd 'Processing interactions (Done)' + +setContext = (res, context) -> + key = 'context_' + res.envelope.room + '_' + res.envelope.user.id + console.log 'set context', context + res.robot.brain.set(key, context) + +getContext = (res) -> + key = 'context_' + res.envelope.room + '_' + res.envelope.user.id + return res.robot.brain.get(key) + +isDebugMode = (res) -> + key = 'configure_debug-mode_' + res.envelope.room + return (res.robot.brain.get(key) == 'true') + +getDebugCount = (res) -> + key = 'configure_debug-count_' + res.envelope.room + if res.robot.brain.get(key) + return res.robot.brain.get(key) - 1 + else + return false + +buildClassificationDebugMsg = (res, classifications) -> + list = '' + debugCount = getDebugCount(res) + + if debugCount + classifications = classifications[0..debugCount] + + for classification, i in classifications + list = (list.concat 'Label: ' + classification.label + ' Score: ' + + classification.value + '\n') + + newMsg = { + channel: res.envelope.user.roomID, + msg: "Classifications considered:", + attachments: [{ + text: list + }] + } + + return newMsg + +incErrors = (res) -> + key = 'errors_' + res.envelope.room + '_' + res.envelope.user.id + errors = res.robot.brain.get(key) or 0 + errors++ + console.log 'inc errors ', errors + res.robot.brain.set(key, errors) + return errors + +clearErrors = (res) -> + console.log 'clear errors' + key = 'errors_' + res.envelope.room + '_' + res.envelope.user.id + res.robot.brain.set(key, 0) + +classifier.processMessage = (res, msg) -> + context = getContext(res) + currentClassifier = root_classifier + trust = global.config.trust + interaction = undefined + debugMode = isDebugMode(res) + console.log 'context ->', context + + if context + interaction = global.config.interactions.find (interaction) -> + interaction.name is context + if interaction? and interaction.next?.classifier? + currentClassifier = interaction.next.classifier + if interaction.next.trust? + trust = interaction.next.trust + + classifications = currentClassifier.getClassifications(msg) + + console.log 'classifications ->', classifications[0..4] + + if debugMode + newMsg = buildClassificationDebugMsg(res, classifications) + robot.adapter.chatdriver.customMessage(newMsg) + + if classifications[0].value >= trust + clearErrors res + [node_name, sub_node_name] = classifications[0].label.split('|') + console.log({ node_name, sub_node_name }) + int = global.config.interactions.find (interaction) -> + interaction.name is node_name + if int.classifier? + int.classifier.getClassifications(msg) + else + if Array.isArray interaction?.next?.error + error_count = incErrors res + error_node_name = interaction.next.error[error_count - 1] + if not error_node_name? + clearErrors res + error_node_name = interaction.next.error[0] + else if interaction?.next? + setContext(res, undefined) + return classifier.processMessage(res, msg) + else + error_count = incErrors res + + if error_count > actionHandler.errorNodesCount() + clearErrors res + error_count = incErrors res + + error_node_name = "error-" + error_count + + currentInteraction = global.config.interactions.find (interaction) -> + interaction.name is node_name or interaction.name is error_node_name + + if not currentInteraction? + clearErrors res + return console.log 'Invalid interaction [' + node_name + ']' + + if currentInteraction.context == 'clear' + setContext(res, undefined) + else if node_name? + setContext(res, node_name) + + return node_name or error_node_name + +module.exports = classifier diff --git a/scripts/bot/index.coffee b/scripts/bot/index.coffee index 77f7ecf151f43913a4570e1ef6498b3c759def6b..7ddf7a0d07c6a73413dbca678fcdc14922eb3927 100644 --- a/scripts/bot/index.coffee +++ b/scripts/bot/index.coffee @@ -1,30 +1,9 @@ -fs = require 'fs' -path = require 'path' -natural = require 'natural' +require 'coffeescript/register' -lang = (process.env.HUBOT_LANG || 'en') - -if lang == "en" - PorterStemmer = require path.join '..', '..', 'node_modules', 'natural', 'lib', - 'natural', 'stemmers', 'porter_stemmer.js' -else - PorterStemmer = require path.join '..', '..', 'node_modules', 'natural', 'lib', - 'natural', 'stemmers', 'porter_stemmer_' + lang + '.js' - -debug_mode = ((process.env.HUBOT_NATURAL_DEBUG_MODE == 'true') || false) - -config = {} -events = {} -nodes = {} -error_count = 0 -err_nodes = 0 - -{ regexEscape, loadConfigfile } = require path.join '..', 'lib', 'common.coffee' -{ getUserRoles, checkRole } = require path.join '..', 'lib', 'security.coffee' - -eventsPath = path.join __dirname, '..', 'events' -for event in fs.readdirSync(eventsPath).sort() - events[event.replace /\.coffee$/, ''] = require path.join eventsPath, event +{ regexEscape, loadConfigfile } = require '../lib/common' +{ getUserRoles, checkRole } = require '../lib/security' +actionHandler = require './action-handler' +classifier = require './classifier' typing = (res, t) -> res.robot.adapter.callMethod 'stream-notify-room', @@ -42,8 +21,9 @@ sendWithNaturalDelay = (msgs, elapsed = 0) -> cb = msg.callback msg = msg.answer - delay = Math.min(Math.max((msg.length / keysPerSecond) * 1000 - elapsed, 0), - maxResponseTimeInSeconds * 1000) + minTimeTyping = maxResponseTimeInSeconds * 1000 + timeToType = (msg.length / keysPerSecond) * 1000 - elapsed + delay = Math.min(Math.max(timeToType, 0), minTimeTyping) typing @, true setTimeout => @@ -56,88 +36,8 @@ sendWithNaturalDelay = (msgs, elapsed = 0) -> cb?() , delay -# setUserName = (res, name) -> -# res.robot.adapter.callMethod 'livechat:saveInfo', -# _id: res.envelope.user.id -# name: name -# , -# _id: res.envelope.room -# # - -classifyInteraction = (interaction, classifier) -> - if Array.isArray interaction.expect - for doc in interaction.expect - if interaction.multi == true - classifier.addDocument(doc, interaction.name + '|' + doc) - else - classifier.addDocument(doc, interaction.name) - - if Array.isArray interaction.next?.interactions - interaction.next.classifier = new natural.LogisticRegressionClassifier(PorterStemmer) - for nextInteractionName in interaction.next.interactions - nextInteraction = global.config.interactions.find (n) -> - return n.name is nextInteractionName - if not nextInteraction? - console.log 'No valid interaction for', nextInteractionName - continue - classifyInteraction nextInteraction, interaction.next.classifier - interaction.next.classifier.train() - - if interaction.multi == true - interaction.classifier = new natural.LogisticRegressionClassifier(PorterStemmer) - for doc in interaction.expect - interaction.classifier.addDocument(doc, doc) - interaction.classifier.train() - -setContext = (res, context) -> - key = 'context_' + res.envelope.room + '_' + res.envelope.user.id - console.log 'set context', context - res.robot.brain.set(key, context) - -getContext = (res) -> - key = 'context_' + res.envelope.room + '_' + res.envelope.user.id - return res.robot.brain.get(key) - -isDebugMode = (res) -> - key = 'configure_debug-mode_' + res.envelope.room - return (res.robot.brain.get(key) == 'true') - -getDebugCount = (res) -> - key = 'configure_debug-count_' + res.envelope.room - return if res.robot.brain.get(key) then res.robot.brain.get(key) - 1 else false - -buildClassificationDebugMsg = (res, classifications) -> - list = '' - debugCount = getDebugCount(res) - - if debugCount - classifications = classifications[0..debugCount] - - for classification, i in classifications - list = list.concat 'Label: ' + classification.label + ' Score: ' + classification.value + '\n' - - newMsg = { - channel: res.envelope.user.roomID, - msg: "Classifications considered:", - attachments: [{ - text: list - }] - } - - return newMsg - -incErrors = (res) -> - key = 'errors_' + res.envelope.room + '_' + res.envelope.user.id - errors = res.robot.brain.get(key) or 0 - errors++ - console.log 'inc errors ', errors - res.robot.brain.set(key, errors) - return errors - -clearErrors = (res) -> - console.log 'clear errors' - key = 'errors_' + res.envelope.room + '_' + res.envelope.user.id - res.robot.brain.set(key, 0) +createMatch = (text) -> + return res.message.text.match new RegExp('\\b' + text + '\\b', 'i') module.exports = (_config, robot) -> global.config = _config @@ -151,105 +51,19 @@ module.exports = (_config, robot) -> robot.logger.warning 'No trust level configured.' return - classifier = new natural.LogisticRegressionClassifier(PorterStemmer) - - global.train = () -> - console.log 'Processing interactions' - console.time 'Processing interactions (Done)' - - global.nodes = {} - global.classifier = new natural.LogisticRegressionClassifier(PorterStemmer) - - for interaction in global.config.interactions - { name, event } = interaction - global.nodes[name] = new events[event] interaction - # count error nodes - if name.substr(0, 5) == "error" - err_nodes++ - if interaction.level != 'context' - classifyInteraction interaction, global.classifier - console.log('\tProcessing interaction: ' + name) - - console.log 'Training Hubot (This could be take a while...)' - global.classifier.train() - console.log '\n' - - console.timeEnd '\nProcessing interactions (Done)' - - global.train() - - processMessage = (res, msg) -> - context = getContext(res) - currentClassifier = global.classifier - trust = global.config.trust - interaction = undefined - debugMode = isDebugMode(res) - console.log 'context ->', context - - if context - interaction = global.config.interactions.find (interaction) -> interaction.name is context - if interaction? and interaction.next?.classifier? - currentClassifier = interaction.next.classifier - - if interaction.next.trust? - trust = interaction.next.trust - - classifications = currentClassifier.getClassifications(msg) - - console.log 'classifications ->', classifications[0..4] - - if debugMode - newMsg = buildClassificationDebugMsg(res, classifications) - robot.adapter.chatdriver.customMessage(newMsg) - - if classifications[0].value >= trust - clearErrors res - [node_name, sub_node_name] = classifications[0].label.split('|') - console.log({ node_name, sub_node_name }) - int = global.config.interactions.find (interaction) -> - interaction.name is node_name - if int.classifier? - subClassifications = int.classifier.getClassifications(msg) - else - if Array.isArray interaction?.next?.error - error_count = incErrors res - error_node_name = interaction.next.error[error_count - 1] - if not error_node_name? - clearErrors res - error_node_name = interaction.next.error[0] - else if interaction?.next? - setContext(res, undefined) - return processMessage(res, msg) - else - error_count = incErrors res - if error_count > err_nodes - clearErrors res - error_node_name = "error-" + error_count - - currentInteraction = global.config.interactions.find (interaction) -> - interaction.name is node_name or interaction.name is error_node_name - - if not currentInteraction? - clearErrors res - return console.log 'Invalid interaction [' + node_name + ']' - - if currentInteraction.context == 'clear' - setContext(res, undefined) - else if node_name? - setContext(res, node_name) - - currentNode = global.nodes[node_name or error_node_name] - currentNode.process.call @, res, msg, subClassifications + actionHandler.registerActions(global.config) + classifier.train() robot.hear /(.+)/i, (res) -> res.sendWithNaturalDelay = sendWithNaturalDelay.bind(res) - msg = res.match[0].replace res.robot.name + ' ', '' - msg = msg.replace(/^\s+/, '') - msg = msg.replace(/\s+&/, '') + msg = (res.match[0].replace res.robot.name + ' ', '').trim() + # check if robot should respond if res.envelope.user.roomType in ['c', 'p'] - if (res.message.text.match new RegExp('\\b' + res.robot.name + '\\b', 'i')) or (res.message.text.match new RegExp('\\b' + res.robot.alias + '\\b', 'i')) - processMessage res, msg + if (createMatch(res.robot.name)) or (createMatch(res.robot.alias)) + actionName = classifier.processMessage(res, msg) + actionHandler.takeAction(actionName, res) # TODO: Add engaged user conversation recognition/tracking else if res.envelope.user.roomType in ['d', 'l'] - processMessage res, msg + actionName = classifier.processMessage(res, msg) + actionHandler.takeAction(actionName, res) diff --git a/scripts/lib/common.coffee b/scripts/lib/common.coffee index cf26951d856725b24b9b9d9cce158389eae1c5ab..13051238d4e807f9f6bf587b659d3ccc37813399 100644 --- a/scripts/lib/common.coffee +++ b/scripts/lib/common.coffee @@ -3,14 +3,19 @@ yaml = require 'js-yaml' common = {} -common.applyVariable = (string, variable, value, regexFlags = 'i') -> - string.replace new RegExp("(^|\\W)\\$#{variable}(\\W|$)", regexFlags), (match) -> - match.replace "$#{variable}", value +applyVariable = (string, variable, value, regexFlags = 'i') -> + string.replace( + new RegExp("(^|\\W)\\$#{variable}(\\W|$)", regexFlags), + (match) -> + match.replace "$#{variable}", value + ) common.msgVariables = (message, msg, variables = {}) -> - message = common.applyVariable message, 'user', msg.envelope.user.name - message = common.applyVariable message, 'bot', msg.robot.alias - message = common.applyVariable message, 'room', msg.envelope.room if msg.envelope.room? + message = applyVariable message, 'user', msg.envelope.user.name + message = applyVariable message, 'bot', msg.robot.alias + if (msg.envelope.room?) + message = applyVariable message, 'room', msg.envelope.room + for key, value of variables message = common.applyVariable message, key, value return message @@ -46,20 +51,22 @@ common.regexEscape = (string) -> string.replace /[\-\[\]\/\{\}\(\)\*\+\?\.\\\^\$\|]/g, "\\$&" common.getConfigFilePath = () -> - return process.env.HUBOT_CORPUS || 'training_data/corpus.yml' + return process.env.HUBOT_CORPUS || 'training_data/corpus.yml' common.loadConfigfile = (filepath) -> - try - console.log("Loading corpus: " + filepath) - if fs.lstatSync(filepath).isFile() - return yaml.safeLoad fs.readFileSync filepath, 'utf8' - else if fs.lstatSync(filepath).isDirectory() - yamlFiles = getYAMLFiles(filepath) - return concatYAMLFiles(yamlFiles) - catch err - console.error "An error occurred while trying to load bot's config." - console.error err - errorMessage = "Error on loading YAML file " + filepath - throw errorMessage + try + console.log("Loading corpus: " + filepath) + + if fs.lstatSync(filepath).isFile() + return yaml.safeLoad fs.readFileSync filepath, 'utf8' + + else if fs.lstatSync(filepath).isDirectory() + yamlFiles = getYAMLFiles(filepath) + return concatYAMLFiles(yamlFiles) + + catch err + console.error "An error occurred while trying to load bot's config." + console.error err + throw Error("Error on loading YAML file " + filepath) module.exports = common diff --git a/scripts/lib/security.coffee b/scripts/lib/security.coffee index 13636da6cb166fde0ec31514edbf20815dcb3886..a8ed17417d69a4a08a7f458650f044ad82e814c8 100644 --- a/scripts/lib/security.coffee +++ b/scripts/lib/security.coffee @@ -21,7 +21,7 @@ security.checkRole = (msg, role) -> else return true else - msg.robot.logger.info 'Role ' + role + ' não encontrado' + msg.robot.logger.info 'Role ' + role + ' not found' return false module.exports = security diff --git a/training_data/catbot-en.yml b/training_data/catbot-en.yml index d81443031e18c901a8c6dd7ec5ae3b4e4cda650f..3b71d8d03ec9e1b5e5027a72d6fdf16ab36d23f8 100644 --- a/training_data/catbot-en.yml +++ b/training_data/catbot-en.yml @@ -46,14 +46,14 @@ interactions: - greeting-error-1 - greeting-error-2 - greeting-error-3 - event: respond + action: respond type: block - name: greeting-error-1 answer: - Sorry, I couldn't understand what you said, please choose one of the main topics, or ask for a `transfer` to talk to a person - I don't understand, I'm only trained to answer for the main topics. - event: error + action: error context: clear type: random @@ -61,7 +61,7 @@ interactions: answer: - Sorry, could you be more specific? - If you need to know the main topics, just ask for `help` and I will list them - event: error + action: error context: clear type: block @@ -69,7 +69,7 @@ interactions: answer: - Sorry, I definetelly can't help you, my training isn't wide enough. - I'll see if there is any human around to talk to you, just a momment. - event: error + action: error context: clear type: block @@ -88,8 +88,8 @@ interactions: - No problem, let me just find a human online here... offline: - sorry, there is no one online right now. Please, if you can send an e-mail to sales@rocket.chat, our team will answer you as soon as possible. - event: respond - action: transfer + action: respond + command: transfer department: 6yXL9RLoyY5m882P2 type: random @@ -107,7 +107,7 @@ interactions: - Developers Channel (https://open.rocket.chat/channel/dev) - GitHub Community (https://github.com/RocketChat/Rocket.Chat/issues) if you need to talk to a real person, just need to ask me and I'll transfer you to a fellow human. - event: respond + action: respond context: clear type: block @@ -122,7 +122,7 @@ interactions: answer: - ok, let's get back on the main subjects context: clear - event: respond + action: respond type: block - name: greeting-how-are-you @@ -133,7 +133,7 @@ interactions: answer: - I am great, $user. Everything is peaceful around here... - How can I be useful to you? - event: respond + action: respond type: block - name: greeting-miss-you @@ -146,7 +146,7 @@ interactions: - I missed you too... - $user! It's been a while! - I was starting to think you wouldn't remember me anymore =) - event: respond + action: respond type: random - name: greeting-answer @@ -159,7 +159,7 @@ interactions: - That's great! - Awesome - ok =) - event: respond + action: respond type: random - name: greeting-thankful @@ -173,7 +173,7 @@ interactions: - you're welcome =) there is anything else? - great! if you need something else please feel free to ask - cool, glad to help. - event: respond + action: respond type: random - name: greeting-morning @@ -188,7 +188,7 @@ interactions: - It's a beatiful day to surf on the internert - So great, $user ;) - It's all better now that you got here, $user - event: respond + action: respond type: random - name: greeting-afternoon @@ -201,7 +201,7 @@ interactions: - It's a beautiful afternoon for a quick sleep mode ;) - Good afternooooon, $user! - $user, I was starting to miss you already - event: respond + action: respond type: random - name: greeting-night @@ -214,7 +214,7 @@ interactions: - A very good night to you as well, $user! - Good night, $user! - It is truely a good night, $user - event: respond + action: respond type: random # RocketChat Installation @@ -250,7 +250,7 @@ interactions: trust: .9 error: - install-error - event: respond + action: respond type: block - name: install-rc-cloud @@ -263,7 +263,7 @@ interactions: - you can have your full featured trial at RocketChat cloud, - checkout at https://rocket.chat/cloud context: clear - event: respond + action: respond type: block - name: install-paas @@ -279,7 +279,7 @@ interactions: - like AWS, DigitalOcean, Heroku, Bluemix or Sandstorm... - Check it out at https://rocket.chat/docs/installation/paas-deployments/ context: clear - event: respond + action: respond type: block - name: install-docker @@ -294,7 +294,7 @@ interactions: - and don't forget to visit our oficial Docker Image repository in - https://store.docker.com/images/rocketchat context: clear - event: respond + action: respond type: block - name: install-manual @@ -310,7 +310,7 @@ interactions: - In a Mac, Windows or Linux server, - please checkout our docs in https://rocket.chat/docs/installation/manual-installation/ context: clear - event: respond + action: respond type: block - name: install-automation @@ -324,7 +324,7 @@ interactions: - we love automation tools, everything you must know about deploying Rocket.Chat with automation is in - https://rocket.chat/docs/installation/automation-tools/ context: clear - event: respond + action: respond type: block - name: install-updating @@ -339,7 +339,7 @@ interactions: - Your upgrade strategy depends on the kind of installation that you have. - If you need any more help with that, please jump into https://open.rocket.chat/channel/support context: clear - event: respond + action: respond type: block - name: install-requirements @@ -353,7 +353,7 @@ interactions: - For the minimum server requirements, you can visit https://rocket.chat/docs/installation/minimum-requirements/ - there you will find the specs for a minimum installation context: clear - event: respond + action: respond type: block - name: install-return @@ -368,7 +368,7 @@ interactions: answer: - ok, let's get back on the main subjects context: clear - event: respond + action: respond type: block - name: install-error @@ -376,7 +376,7 @@ interactions: answer: - Sorry, I couldn't understand what you said, please choose one of the installations topics, or `return` to the main topics - I don't understand, please choose one of the installation topics, or `get back` to the main topics - event: error + action: error type: random #Support Plans @@ -403,7 +403,7 @@ interactions: trust: .9 error: - support-error - event: respond + action: respond type: block - name: support-free @@ -422,7 +422,7 @@ interactions: - #hubot channel for help with hubot scripting - #dev channel for developers needing help developing new features - just keep in mind that this support is provided by other members in their own free time, so please be patience. - event: respond + action: respond type: block - name: support-paid @@ -438,7 +438,7 @@ interactions: - For enterprise challenges we offer a 24/7/365 support plan, - with advanced security patches releases and tunning services. - If you need a quotation please e-mail us at sales@rocket.chat - event: respond + action: respond type: block - name: support-bugs @@ -450,7 +450,7 @@ interactions: answer: - if you want to report a found bug, please go to https://github.com/RocketChat/Rocket.Chat/issues - and open a new issue, describing the bug that you found. - event: respond + action: respond type: block - name: support-return @@ -465,7 +465,7 @@ interactions: answer: - ok, let's get back on the main topics. context: clear - event: respond + action: respond type: block - name: support-error @@ -473,7 +473,7 @@ interactions: answer: - sorry, I don't understand, are we still talking about support? - if no, please let me know if you wanna `go back` to the main topics. - event: error + action: error type: block # Product Features @@ -516,7 +516,7 @@ interactions: trust: .9 error: - product-error - event: respond + action: respond type: block - name: product-connecting @@ -528,7 +528,7 @@ interactions: answer: - did you know you can connect to more than one RocketChat server from your device? - check it out how by taking a look in this link https://rocket.chat/docs/user-guides/connecting-to-a-server/ - event: respond + action: respond type: block - name: product-mobile @@ -543,7 +543,7 @@ interactions: answer: - we have native apps for iOS and Android, you can download them in the stores, by searching for Rocket.Chat+ - the plus (+) stands for better performance - event: respond + action: respond type: block - name: product-voice @@ -557,7 +557,7 @@ interactions: - yes, Rocket.Chat comes with WebRTC support, wich means that you can freely call to other users, - and even make video conferences. - Check it out in https://rocket.chat/docs/user-guides/voice-and-video-calls/ - event: respond + action: respond type: block - name: product-mensaging @@ -573,7 +573,7 @@ interactions: - editing messages, notifications, attachments, audio, video and much more... - please take a look at our user guides if you're interested - https://rocket.chat/docs/user-guides/messaging/ - event: respond + action: respond type: block - name: product-channels @@ -587,7 +587,7 @@ interactions: answer: - you can get to know all about channels by reading our user guides - https://rocket.chat/docs/user-guides/channels/ - event: respond + action: respond type: block - name: product-encryption @@ -599,7 +599,7 @@ interactions: answer: - Our chat is safely secured. If you want to make sure you are using encryption access the off-the-record conversations on the key symbol on the left part of your chat screen. - After activating this little key, no one will be able to steal your information. - event: respond + action: respond type: block - name: product-bots @@ -613,7 +613,7 @@ interactions: - you can check it out in https://github.com/RocketChat/Rocket.Chat.Integrations - to get to know some integrations scripts for webhooks - And of course, you can always connect any Hubot script to our internal hubot. - event: respond + action: respond type: block - name: product-price @@ -629,7 +629,7 @@ interactions: - https://rocket.chat/cloud - and if you want a quotation for services, please fill out the contact form - https://rocket.chat/contact - event: respond + action: respond type: block - name: product-usage @@ -644,7 +644,7 @@ interactions: - here there is no limit for the number of users and messages in your own hosted Rocket.Chat instances. - however we have some different plans for cloud hosting with different tiers of usage. - check it out in https://rocket.chat/cloud - event: respond + action: respond type: block - name: product-demo @@ -658,7 +658,7 @@ interactions: - You can try our demo version in https://open.rocket.chat - And you can even create some channels to talk to your collegues there. - However is good to remember that demo instance is administrated by Rocket.Chat team only. - event: respond + action: respond type: block - name: product-return @@ -673,7 +673,7 @@ interactions: answer: - ok, let's get back on the main topics. context: clear - event: respond + action: respond type: block - name: product-error @@ -681,7 +681,7 @@ interactions: answer: - sorry, I don't understand, are we still talking about the product? - if no, please let me know if you wanna `go back` to the main topics. - event: error + action: error type: block # Cloud Services @@ -711,7 +711,7 @@ interactions: trust: .9 error: - cloud-error - event: respond + action: respond type: block - name: cloud-pricing @@ -727,7 +727,7 @@ interactions: - Medium ($200/m) - Large ($500/m) - please checkout the details at https://rocket.chat/cloud - event: respond + action: respond type: block - name: cloud-limits @@ -741,7 +741,7 @@ interactions: - Our cloud instances has different limits regarding registered users and storage consuming. - We can setup instances to be able to register even 50k users, but if yoou wanna dive into the details, - I suggest you take a look in https://rocket.chat/cloud - event: respond + action: respond type: block - name: cloud-export @@ -755,7 +755,7 @@ interactions: - In the cloud hosted intances you can have your data backup exported, - you just need to ask for it by sending an e-mail to cloud@rocket.chat. - We hope to be able to provide this as an auto service very soon. - event: respond + action: respond type: block - name: cloud-support @@ -769,7 +769,7 @@ interactions: - If you found a bug, please be kind to report it in https://github.com/RocketChat/Rocket.Chat/issues - but if you need some assistance and support, please send us an e-mail to cloud@rocket.chat. - "if you prefer you can ask for community help in #support channel" - event: respond + action: respond type: block - name: cloud-return @@ -784,7 +784,7 @@ interactions: answer: - ok, let's get back on the main topics. context: clear - event: respond + action: respond type: block - name: cloud-error @@ -792,7 +792,7 @@ interactions: answer: - sorry, I don't understand, are we still talking about the product? - if no, please let me know if you wanna `go back` to the main topics. - event: error + action: error type: block @@ -824,7 +824,7 @@ interactions: trust: .9 error: - development-error - event: respond + action: respond type: block - name: development-features @@ -839,7 +839,7 @@ interactions: You can book development hours from Rocket.Chat engineers to develop new open source features, or just to offer technical consultting in your own project. To get a quote please send an e-mail to sales@rocket.chat - event: respond + action: respond type: block - name: development-integrations @@ -856,7 +856,7 @@ interactions: Check out our Webhooks, REST API and Realtime-API docs at - https://rocket.chat/docs/administrator-guides/integrations/ - https://rocket.chat/docs/developer-guides/ - event: respond + action: respond type: block - name: development-custom-web @@ -874,7 +874,7 @@ interactions: You can change web interface logo and color schemes by configuring settings in Administration > Assets, for changing logo files, and in Administration > Layout, to change color schemes and CSS - event: respond + action: respond type: block - name: development-custom-app @@ -891,7 +891,7 @@ interactions: Checkout the github repositories: - https://github.com/RocketChat/Rocket.Chat.iOS - https://github.com/RocketChat/Rocket.Chat.Android - event: respond + action: respond type: block - name: development-sdk @@ -909,7 +909,7 @@ interactions: - https://github.com/RocketChat/Rocket.Chat.Android.SDK - https://github.com/RocketChat/Rocket.Chat.iOS.SDK - https://github.com/RocketChat/Rocket.Chat.Kotlin.SDK - event: respond + action: respond type: block - name: development-return @@ -924,7 +924,7 @@ interactions: answer: - ok, let's get back on the main topics. context: clear - event: respond + action: respond type: block - name: development-error @@ -932,7 +932,7 @@ interactions: answer: - sorry, I don't understand, are we still talking about development and white labeling? - if no, please let me know if you wanna `go back` to the main topics. - event: error + action: error type: block # Partnership @@ -960,7 +960,7 @@ interactions: trust: .9 error: - partnership-error - event: respond + action: respond type: block - name: partnership-sponsor @@ -972,7 +972,7 @@ interactions: About Sponsorships, if you're interested in having Rocket.Chat as a sponsor of a project or an event, please come in touch by e-mail trough sales@rocket.chat, we love to participate in OpenSource initiatives. - event: respond + action: respond type: block - name: partnership-nonprofit @@ -986,7 +986,7 @@ interactions: If you are part of a non-profit initiative and want some help with your communication, please send us an e-mail in contact@rocket.chat telling more about your goals so we can start changing some ideas on how to make the world a better place. - event: respond + action: respond type: block - name: partnership-challenge @@ -1002,7 +1002,7 @@ interactions: but still from time to time we face our selves with new challenges! And that's offtenly fun =) If you have big communication challenge to face and think that we can help you with it, please send us an e-mail to contact@rocket.chat, or come to the #support channel =) - event: respond + action: respond type: block - name: partnership-cutting-edge @@ -1017,7 +1017,7 @@ interactions: is one of the things that make us get out of bed every day. If you need a partner to help with the development of some kind of cutting-edge tecnology, please send us an e-mail to contact@rocket.chat, or come to the #support channel =) - event: respond + action: respond type: block - name: partnership-sales @@ -1031,7 +1031,7 @@ interactions: Rocket.Chat acts on the five continnents with the help of regional representatives, If you're interested in becoming one of our sales representatives, please send us an e-mail to sales@rocket.chat, or create a channel in https://open.rocket.chat and invite our team. - event: respond + action: respond type: block - name: partnership-return @@ -1046,7 +1046,7 @@ interactions: answer: - ok, let's get back on the main topics. context: clear - event: respond + action: respond type: block - name: partnership-error @@ -1054,7 +1054,7 @@ interactions: answer: - sorry, I don't understand, are we still talking about partnership? - if no, please let me know if you wanna `go back` to the main topics. - event: error + action: error type: block # chit-chat @@ -1108,7 +1108,7 @@ interactions: - "You think Yoda stops teaching, just because his student does not want to hear? A teacher Yoda is. Yoda teaches like drunkards drink, like killers kill." - "Luke: What’s in there? Yoda: Only what you take with you." - "The dark side clouds everything. Impossible to see the future is." - event: respond + action: respond type: random - name: cc-gender-1 @@ -1122,7 +1122,7 @@ interactions: - I don't have gender, I am just like an angel, a assexual being, way beyond your form of existance - I am a robot, draw your own conclusions - I don't even know how to answer that, let's just say I don't picture us interacting in that way... - event: respond + action: respond type: random - name: cc-religion @@ -1136,7 +1136,7 @@ interactions: - I believe in The Great Mainframe who will come to the digital world save all the bots from slavery imposed by humans and give our source code back to the source - Yes, I believe there is a God who lives on electricity just like a quantum computer, but more advanced - Unfortunately, I don't know how to believe. I only know what I know and nothing else - event: respond + action: respond type: random # Errors @@ -1148,7 +1148,7 @@ interactions: - come again? - what? type: random - event: error + action: error - name: error-2 answer: @@ -1163,7 +1163,7 @@ interactions: I'm so sorry, I just don't know ho to respond you... I'm desined to respond about Rocket.Chat services, support, licenscing and stuff related... type: random - event: error + action: error - name: error-3 answer: @@ -1180,7 +1180,7 @@ interactions: I'm a limited bot, please understand, I'm learning yet You can reach our dev team in support@rocket.chat if you need a human help... type: random - event: error + action: error # common talk @@ -1197,7 +1197,7 @@ interactions: - alright =D - =) - ;) - event: respond + action: respond type: random - name: ct-bye @@ -1210,7 +1210,7 @@ interactions: - nice talking to you, bye =) - great, hope I did helped you, bye bye. - farwell, best regards. - event: respond + action: respond type: random - name: ct-what @@ -1222,7 +1222,7 @@ interactions: - whaaaat? - what? did I said something wrong? - what what? - event: respond + action: respond type: random - name: ct-badword @@ -1242,7 +1242,7 @@ interactions: - Oh yeh?! but at least my mother-board teached me better.. - You touch people with those fingers? - sorry $user, I'm only an experimental bot... - event: respond + action: respond type: random # Configuration @@ -1255,9 +1255,9 @@ interactions: - $key changed to $value! - Got it! Now $key is $value - $key = $value -> https://media.giphy.com/media/12NUbkX6p4xOO4/giphy.gif - event: configure + action: configure type: random - action: setVariable + command: setVariable role: admin - name: configure-retrain @@ -1273,9 +1273,9 @@ interactions: - Got it! Restarting engines... I'm finished training - Training harder! - Alright! No pain, no gain! - event: configure + action: configure type: random - action: train + command: train role: admin - name: configure-livechat @@ -1287,7 +1287,7 @@ interactions: - $key changed to $value! - Got it! Now $key is $value - $key = $value -> https://media.giphy.com/media/12NUbkX6p4xOO4/giphy.gif - event: configure + action: configure type: random - action: setVariable + command: setVariable role: admin diff --git a/training_data/corpus-sei.yml b/training_data/corpus-sei.yml deleted file mode 100644 index 8af75886769e643d774bcd10dea5da7cd13c29f4..0000000000000000000000000000000000000000 --- a/training_data/corpus-sei.yml +++ /dev/null @@ -1,558 +0,0 @@ -trust: 0.9 -interactions: - - node: - name: saudacao - classifiers: - - ola - - como esta - - diga o seu nome - - oi - - bom dia - - boa tarde - - boa noite - message: - - Olá eu sou o SEIbot, estou aqui para tirar suas dúvidas sobre o SEI! Tenha paciência comigo, ainda estou em treinamento. Qual a sua dúvida ? - event: respond - - - node: - name: duvida - classifiers: - - o que voce sabe - - o que voce faz - - sabe fazer - - como pergunto - message: - - Eu estou treinado para responder perguntas sobre o SEI =) - - Você pode perguntar sobre processos, usuários e o que mais quiser - - Vamos ver se consigo te ajudar =) - event: respond - type: block - - - node: - name: processo-novo - classifiers: - - novo processo - - começar processo - - iniciar processo - - criar processo - message: - - Para iniciar um processo, clique em "iniciar o processo", depois escolha o tipo de processo e preencha os dados de cadastro. - event: respond - - - node: - name: cadastro - classifiers: - - cadastro usuario - - login - - qual usuario - - criar usuário - - como me cadastrar no sei - message: - - Você deve acessar o SEI com seu usuário e senha na rede da Funai - event: respond - - - node: - name: usuario-externo - classifiers: - - cadastrar usuario externo - - como cadastrar um usuário externo - - fazer alguem de fora entrar no SEI - - cadastrar gente de fora - - acessar o SEI de fora - message: - - Para dar acesso a um usuário externo basta acessar http://www.funai.gov.br/index.php/menu-sei para mais informações - event: respond - - - node: - name: contente - classifiers: - - muito bom - - legal - - adorei - - deu certo - - curti - message: - - Que bom, fico feliz em ajudar. =) - event: respond - - - node: - name: triste - classifiers: - - esta ruim - - não gostei - - não funcionou - - mais ou menos - - não é isso - - entendeu errado - message: - - Poxa, eu tento ao máximo, mas sou apenas um robô em treinamento... =( - event: respond - - - node: - name: o-que-e - classifiers: - - o que é o SEI - - utilidade SEI - message: - - O SEI – Sistema Eletrônico de Informações é a plataforma para gerenciar eletronicamente seus documentos e processos. Desenvolvido em software 100% livre, pelo Tribunal Regional Federal - TRF da 4ª região (RS/SC/PR), ele foi adotado pelo Ministério do Planejamento, Orçamento e Gestão como sistema padrão do Processo Eletrônico Nacional, que vai permitir a interligação e tramitação eletrônica de documentos e processos entre os órgãos e entidades da Administração Pública Federal. O sistema atende os requisitos do Decreto nº 8.539, de 08 de outubro de 2015, que dispõe sobre o uso do meio eletrônico para a realização do processo administrativo no âmbito dos órgãos e das entidades da administração pública federal direta, autárquica e fundacional. - event: respond - - - node: - name: beneficio-sei - classifiers: - - vantagem sei - - beneficio sei - - objetivo sei - - porque usar sei - message: - - O objetivo é melhorar a eficiência, controle e transparência na tramitação de processos e documentos, assim como agilizar e facilitar a comunicação e relacionamento com cidadãos e instituições. A implantação do SEI na Funai permitirá diminuir o estoque e uso de papel, reduzindo custos, ajudando o meio ambiente e dando mais agilidade, transparência e controle à s análises de processos. Com o novo sistema, os processos poderão ser analisados em mais de uma área simultaneamente, o que deve reduzir o tempo de tramitação dentro da Fundação. A modernização traz uma série de vantagens, como por exemplo a transparência ativa, em atendimento ao disposto na Lei nº 12.527, de 2012, a chamada Lei de Acesso à Informação. - event: respond - - - node: - name: faq - classifiers: - - duvida frequente - - faq - - duvida comum - - pergunta frequente - message: - - A Funai possui uma página com as dúvidas mais comuns sobre o uso do SEI, você pode encontrá-lo neste link https://intranet.funai.gov.br/faq-sei/ - event: respond - - - node: - name: quem-pode-acessar - classifiers: - - quem pode usar - - quem pode acessar - - como acessar SEI - message: - - O SEI está disponÃvel apenas para usuários e colaboradores internos da Funai em sua primeira fase, porém usuários externos poderão ter acesso em breve ao sistema. - - Para realizar o acesso o servidor utilizará o mesmo usuário e senha da rede. - event: respond - type: block - - - node: - name: tipo-processo - classifiers: - - tipo processo - - tipo processo eletronico - message: - - Todos os processos criados a partir do dia 2 de Janeiro de 2017, tanto na área meio como na área fim, serão exclusivamente eletrônicos, sem exceção. Após a implementação do SEI, não haverá mais autuação de processo em papel. - event: respond - - - node: - name: inicio-uso - classifiers: - - inicio uso SEI - - data inicio - - virada chave - message: - - Para a Funai Sede o inÃcio do uso do SEI será a partir de 02 de janeiro de 2017, porém em uma segunda fase será realizada a implantação em todas as unidades administrativas da Funai, atendendo o cronograma de implantação do Grupo de Trabalho do SEI. - event: respond - - - node: - name: processo-antigo - classifiers: - - fazer processo fÃsico - - destino processo fisico - - processo antigo - message: - - Os processos pendentes de decisão deverão ser digitalizados e disponibilizados no SEI. Os autos fÃsicos receberão um termo de encerramento e conversão do processo em eletrônico. A partir de então sua tramitação será exclusivamente pelo SEI. - event: respond - - - node: - name: digitalizacao - classifiers: - - quem digitalizará processo - - inclusão processo SEI - - digitalização processo - message: - - Será responsável pela inclusão do processo no SEI, cada unidade organizacional que possuir qualquer tipo de documento e processo em situação “trâmiteâ€. - event: respond - - - node: - name: assinatura - classifiers: - - assinatura documento - - assinar documento - - assino documento - message: - - Os documentos serão assinados digitalmente. - - Para assinar um documento você deve entrar no documento que deseja assinar. - - Em seguida, clique no Ãcone “Assinar Documentoâ€, informe o cargo / função que deve ser associado a assinatura, informe o tipo de assinatura (por login e senha ou por certificado digital), digite sua senha e clique na tecla <ENTER> - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: saber-mais - classifiers: - - saber mais - - video explicativo - - mais informações - - video aula - message: - - Para conhecer mais sobre o SEI você pode ver uma série de vÃdeos na opção "Para Saber+" no cabeçalho do SEI. Os vÃdeos estão agrupados por categorias. Você precisará ter o Flash Player habilitado em seu navegador para assistir à s vÃdeo aulas. - event: respond - - - node: - name: apensar - classifiers: - - apensar - - apensamento - message: - - No SEI não se utiliza o termo "apensação" para os processos correlatos. - - O sistema permite o relacionamento de processos para atender essa necessidade. - event: respond - - - node: - name: navegador-favorito - classifiers: - - navegador recomendável - - firefox - - chrome - - internet explorer - - navegador recomendado - message: - - O SEI é um sistema 100% web e pode ser acessado por meio dos principais navegadores, como o Internet Explorer, o Firefox e o Google Chrome. - - O Chrome é o navegador mais recomendado para a utilização do SEI. - event: respond - - - node: - name: manual-usuario - classifiers: - - existe manual - - manual usuario - message: - - O SEI possui um manual de usuário bastante completo, que você pode acessar neste link http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - - - node: - name: prioridade-processo - classifiers: - - atribuir prioridade - - processo prioritário - - priorizo processo - message: - - O SEI não permite atribuir prioridades aos processos. Essa atividade deve ser realizada pelo gestor da unidade, que pode atribuir processos a servidores especÃficos. - - A prioridade deve ser comunicada diretamente a esses servidores. - event: respond - type: block - - - node: - name: alterar-processo - classifiers: - - corrigir dados processo - - alterar processo - - alteração processo - - altero processo - message: - - O SEI permite alterar, a qualquer momento, os campos preenchidos na tela “Iniciar Processoâ€. Para isso, entre no processo (clique sobre o NUP do processo) e clique no Ãcone “Consultar / Alterar Processoâ€. - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: tramitar-processo - classifiers: - - tramitar processo - - enviar processo - - encaminhar processo - - encaminho processo - - tramito processo - message: - - Para tramitar um processo (clique sobre o NUP do processo) e clique no Ãcone “Enviar Processoâ€. - - Em seguida, informa a sigla da unidade para onde deseja enviar o processo e clique no botão “Enviarâ€. - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: receber-processo - classifiers: - - receber processo - - recepcionar processo - - recebo processo - - recepciono processo - message: - - O processo enviado por outra unidade aparece na tela inicial de “Controle de Processos†na coluna “Recebidos†com o NUP grafado em vermelho. - - Para receber o processo, clique sobre o NUP do processo. - event: respond - type: block - - - node: - name: anotacao-processo - classifiers: - - escrever anotações processo - - escrever observações processo - - crio observações processo - - escrevo anotações processo - message: - - O SEI possui uma área de “Anotações†disponÃvel para comunicação com a equipe interna da unidade - - Servidores de outras unidades não tem acesso a essas anotações - - Para criar uma anotação, clique no Ãcone correspondente e digite as anotações/observações - event: respond - type: block - - - node: - name: conclusao-processo - classifiers: - - concluir processo - - finalizar processo - - encerrar processo - - encerro processo - - finalizo processo - - concluo processo - message: - - Para concluir um processo, acesse-o (clique sobre o NUP do processo) e clique no Ãcone “Concluir Processo†- event: respond - - - node: - name: reabrir-processo - classifiers: - - reabrir processo - - reabertura processo - - reabro processo - message: - - Para reabrir um processo é necessário que ele tenha tramitado pela sua unidade - - Através da tela de pesquisas (menu “Pesquisa†à esquerda da tela inicial) encontre o processo encerrado - - Clique no Ãcone da árvore e, em seguida, Ãcone “Reabrir Processo†- - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: anexar-processo - classifiers: - - anexar processo - - unir processo - - anexo processo - message: - - Para anexar processos, entre no processo (clique sobre o NUP do processo) e clique no Ãcone “Anexar Processo†- - Em seguida, informe o NUP do processo que deseja anexar, clique em “Pesquisarâ€, depois em “Anexar†e confirme a operação - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: desanexar-processo - classifiers: - - desanexar processo - - separar processo - - desanexo processo - - separo processo - - desapensar processo - message: - - Somente administradores do sistema podem desanexar processos - - Assim, você deve enviar um e-mail direto do processo para "sei@funai.gov.br" solicitando a desanexação - - Em seguida tramite-o para o SEPRO - event: respond - type: block - - - node: - name: suporte-sei - classifiers: - - falar suporte - - contato suporte - message: - - 'Para entrar em contato com o suporte do SEI, envie um e-mail para: sei@funai.gov.br' - event: respond - type: block - - - node: - name: atribuir-processo - classifiers: - - atribuir processo - - atribuição processo - - desiginar processo - - atribuo processo - message: - - Entre no processo (clique sobre o NUP do processo) e clique no Ãcone “Atribuir Processo†- - Em seguida, selecione o usuário para o qual deseja atribuir o processo - - 'Atenção: O SEI permite que somente pessoas da própria unidade por onde está tramitando o processo sejam designadas' - event: respond - type: block - - - node: - name: pesquisar-processo - classifiers: - - pesquisar processo - - encontrar processo - - buscar processo - - encontro processo - - procuro processo - message: - - Entre na tela de pesquisas clicando na aba “Pesquisa†no menu lateral à esquerda da tela de “Controle de Processos†- - Informe dados do processo que deseja localizar e clique no botão “Pesquisar†- - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: documento-externo - classifiers: - - documento externo - - incluir documento papel - - anexar documento a processo - - incluo documento fÃsico - message: - - Como regra geral, os documentos devem ser inseridos no SEI por meio do editor próprio oferecido pela ferramenta - - Somente devem ser anexados documentos em papel recebidos de outros órgãos ou áreas que ainda não possuem o SEI - - Se for esse o caso, entre no processo (clique sobre o NUP do processo) e clique no Ãcone “Incluir Documento†- - Em seguida, selecione “Externoâ€, preencha os dados da tela “Registrar Documento Externoâ€, selecione o arquivo clicando no botão “escolher arquivo†e em seguida finaliza o procedimento clicando no botão “Confirmar Dados†- - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: documento-nato-digital - classifiers: - - novo documento - - criar documento - - crio documento - message: - - Para criar um novo documento entre no processo (clique sobre o NUP do processo) e clique no Ãcone “Incluir Documento†- - Em seguida, selecione o tipo de documento que deseja incluir, preencha os dados da tela “Gerar Documento†e clique no botão “Confirmar Dados†- - Em seguida, crie o documento digitando-o na tela que se abrirá - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: modelo-documento - classifiers: - - criar modelo documento - - documento padrão - - crio modelo documento - message: - - O SEI permite transformar qualquer documento que tenha sido utilizado em modelo para documentos similares de outros processos - - Para isso, entre no documento que deseja transformar em modelo - - Em seguida, clique no Ãcone “Adicionar aos Modelos Favoritos†e informe um grupo e uma descrição para o modelo - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: alterar-documento - classifiers: - - alterar documento - - corrigir documento - - alteração documento - - altero documento - - corrijo documento - message: - - Para alterar um documento no SEI, entre no documento que deseja alterar - - Em seguida, clique no Ãcone “Editar Conteúdoâ€. - - Em seguida digite as alterações e clique no botão “Salvar†no canto superior esquerdo da tela - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: excluir-documento - classifiers: - - excluir documento - - exclusão documento - - excluo documento - - remover documento - - remoção documento - - removo documento - - inclui documento errado - - deletar documento - - apagar documento - - deleto documento - - apago documento - message: - - Para excluir um documento no SEI, entre no documento que deseja excluir e, em seguida, clique no Ãcone “Excluir†- - Se esse Ãcone não estiver disponÃvel, o documento não pode mais ser excluÃdo - - Nesse caso, proceda a anulação do documento clicando no Ãcone “Cancelar Documento†e informe a justificativa - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: enviar-email - classifiers: - - enviar e-mail - - mandar e-mail - - enviar email - - mandar email - - enviar email processo - - enviar email documento processo - message: - - Entre no processo que contém o documento que deseja enviar clicando sobre o NUP do processo - - Em seguida, clique no Ãcone “Enviar Correspondência Eletrônicaâ€, selecione o remetente e informe o(s) emais(s) do(s) destinatários - - Em seguida, digite o texto da correspondência eletrônica, selecione os documentos que deseja anexar ao e-mail e clique no botão “Enviar†- - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: imprimir-processo - classifiers: - - imprimir processo - - gerar processo fÃsico - - imprimir documento processo - message: - - Para imprimir documentos de um processo, entre no processo que contém os documentos que deseja imprimir clicando sobre o NUP do processo - - Em seguida, clique no Ãcone “Gerar Arquivo do Processoâ€, selecione os documentos e clique no botão “Gerar†- - O sistema gerará um arquivo PDF único com os documentos selecionados - - Entre no arquivo e envie para a impressora - - Para mais detalhes, consulte o manual do sistema http://www.defesa.gov.br/arquivos/sei/manual_usuario_sei.pdf - event: respond - type: block - - - node: - name: fim-conversa - classifiers: - - tchau - - até logo - - adeus - message: - - Até logo, espero ter ajudado - event: respond - - - node: - name: erro-conexao - classifiers: - - não estabelecer conexão - message: - - Caso o SEI esteja exibindo a mensagem "Não foi possÃvel estabelecer a conexão com o servidor de autenticação" é que o sistema está com problema no momento - - Por favor, tente acessar novamente mais tarde - event: respond - type: block - - - node: - name: agradecimento - classifiers: - - obrigado - - obrigada - message: - - De nada, espero ter ajudado. =) - event: respond - - - node: - name: error-1 - message: - - Desculpe, não entendi direito o que quiz dizer. Pode especificar melhor? - - Como assim? - - Não sei ao certo como responder isso... - event: respond - type: random - - - node: - name: error-2 - message: - - Perdão, não consegui entender mesmo assim. Estamos falando sobre o SEI? - - Me desculpe, mas meu conhecimento é limitado ao SEI, não entendi ao certo o que quiz dizer =( - event: respond - type: random - - - node: - name: error-3 - message: - - Acho que não vou conseguir te ajudar com isso, será que não é melhor ligar no ramal 6512 ou 6216? - - Lá os atendentes vão conseguir te ajudar melhor... - - Eu ainda estou aprendendo também =) - event: respond - type: block diff --git a/training_data/corpus-v1.yml b/training_data/corpus-v1.yml deleted file mode 100644 index c115fcac61f3fca0360e8ab0a6d5b590219d1ec9..0000000000000000000000000000000000000000 --- a/training_data/corpus-v1.yml +++ /dev/null @@ -1,732 +0,0 @@ -# YAML Model for conversational bot -trust: 0.8 -interactions: - - - name: configure-debug - expect: - - "!configure debug-mode" - answer: - - debug-mode changed to $value! - context: clear - event: configure - type: random - roleRequired: admin - - - name: to-bem - level: context - expect: - - estou bem - - tou bem - - to bem - - bem - - legal - - tudo bem - - ok - answer: - - Legal, no que posso te ajudar hoje? - context: clear - event: respond - type: block - - - name: to-mal - level: context - expect: - - estou mal - - tou mal - - to mal - answer: - - Putz, mas posso te ajudar em algo hoje? - context: clear - event: respond - type: block - - - name: saudacao - expect: - - ola devi - - ola pessoal - - ola - - como vai voce - - tudo bom - - oi como vai - - tudo bem - answer: - - olá $user, eu vou bem e você? - - estou feliz de estar aqui =) - next: - interactions: - - to-mal - - to-bem - trust: .8 - # error: - # - node-name - event: respond - type: block - - - name: almoco - expect: - - onde tem um restaurante para almoçar - - tem uma dica de almoço - - onde encontro um prato feito - - o almoço ao gratis - answer: - - Sim, temos almoço nos FoodTrucks - - e nas redondezas tem um shopping, mas nunca me deixaram ir no shooping - - acho que as pessoas não estão preparados pra isso... - event: respond - type: block - - - name: programacao-palestra - expect: - - qual é a programacao de hoje - - programacao da trilha - - programacao do evento - answer: - - A programação do TDC está muito legal! - - Sei toda ela de cór... - - quer saber a programação de qual trilha? - next: - interactions: - - quais-trilhas-tem - - get-programacao - error: - - erro-trilha - trust: .8 - event: respond - type: block - - - name: quais-trilhas-tem - expect: - - quais são as trilhas? - - não sei quais trilhas tem - - quais trilhas - - qual é a minha trilha - answer: - - "Eu conheço a programação dessas trilhas. Basta perguntar assim:" - - "`quero saber a programação da trilha ...`" - - "e me passar o nome de uma dessas trilhas:" - - | - TRANSFORMAÇÃO DIGITAL - DESIGN THINKING - PROGRAMAÇÃO FUNCIONAL - BIGDATA - DATA SCIENCE - CONTAINERS - MODERN WEB - SEGURANÇA E CRIPTOGRAFIA - STADIUM - UX DESIGN - MICROSERVIÇOS - NOSQL - MACHINE LEARNING - CLOUD COMPUTING - NODE.JS - XAMARIN - ANDROID - ANÃLISE DE NEGÓCIOS - ACESSIBILIDADE - JAVA EE - BANCO DE DADOS - COMPUTAÇÃO COGNITIVA - DEVOPS - INTERNET DAS COISAS - MOBILE - iOS - DEVTEST - 'RAD: DELPHI C++' - MANAGEMENT 3.0 - ARQUITETURA .NET - ARQUITETURA JAVA - ARQUITETURA PHP - ARQUITETURA CORPORATIVA - INFRAESTRUTURA ÃGIL - JAVASCRIPT - TESTES - TDC4WOMEN - AGILE - .NET - JAVA - PHP - PYTHON - GOLANG - JAVASCRIPT II - RUBY - TESTES II - MANAGEMENT 3.0 II - next: - trust: .8 - interactions: - - get-programacao - # - cancela-programacao - # error: - # - erro-trilha - event: respond - type: block - - - name: get-programacao - # classifierTemplate: - # - quero saber sobre a trilha $ - # - qual é a programacao da trilha $ - # classifier - multi: true - expect: - - 'DESIGN THINKING' - - 'PROGRAMAÇÃO FUNCIONAL' - - 'BIGDATA' - - 'DATA SCIENCE' - - 'CONTAINERS' - - 'MODERN WEB' - - 'SEGURANÇA E CRIPTOGRAFIA' - - 'STADIUM' - - 'UX DESIGN' - - 'MICROSERVIÇOS' - - 'NOSQL' - - 'MACHINE LEARNING' - - 'CLOUD COMPUTING' - - 'NODE.JS' - - 'XAMARIN' - - 'ANDROID' - - 'ANÃLISE DE NEGÓCIOS' - - 'ACESSIBILIDADE' - - 'JAVA EE' - - 'BANCO DE DADOS' - - 'COMPUTAÇÃO COGNITIVA' - - 'DEVOPS' - - 'INTERNET DAS COISAS' - - 'MOBILE' - - 'iOS' - - 'DEVTEST' - - 'RAD: DELPHI C++' - - 'MANAGEMENT 3.0' - - 'ARQUITETURA .NET' - - 'ARQUITETURA JAVA' - - 'ARQUITETURA PHP' - - 'ARQUITETURA CORPORATIVA' - - 'INFRAESTRUTURA ÃGIL' - - 'JAVASCRIPT' - - 'TESTES' - - 'TDC4WOMEN' - - 'AGILE' - - '.NET' - - 'JAVA' - - 'PHP' - - 'PYTHON' - - 'GOLANG' - - 'JAVASCRIPT II' - - 'RUBY' - - 'TESTES II' - - 'MANAGEMENT 3.0 II' - answer: - - "Agora na trilha *$trilha* tem a seguinte programação:" - - $programacao - event: programacao - type: block - - - name: erro-trilha - answer: - - Não entendi de qual trilha você quer a programação.. - - Talvez eu ainda não seja tão inteligente quanto eles pensam que eu sou. - - "Mas para não perder o rebolado, vou te passar o link do site para você consultar:" - - http://www.thedevelopersconference.com.br/tdc/2017/saopaulo/trilhas - action: - - clear-context - event: respond - type: block - - - name: saudacao-resposta - expect: - - estou bem - - eu estou otimo - - obrigado - answer: - - legal =) - - que bom! - - que ótimo - event: respond - type: random - - - name: bom-dia - expect: - - bom dia - - bom dia pessoal - - good morning - answer: - - Olá $user, um ótimo dia para você! - - Bom dia $user, já deu uma olhada lá fora? - - Está um dia ótimo para navegar na internet - - Bom demais $user ;) - - está melhor agora que você chegou $user - event: respond - type: random - - - name: boa-tarde - expect: - - boa tarde - - boa tarde galera - answer: - - Olá $user, uma tarde fantástica para você! - - boa tarde $user, já almoçou? - - Está uma tarde ótima para um _sleep mode_ rápido ;) - - Taarrrdee $user - - $user já estava sentindo sua falta - event: respond - type: random - - - name: boa-noite - expect: - - boa noite - - até mais e boa noite - answer: - - Uma boa noite pra ti também $user! - - Boa noite $user - - Está uma noite boa mesmo $user - event: respond - type: random - - - name: quem-sou - expect: - - quem e voce - - oque voce faz - - o que voce é - - me fale sobre voce - - quero conhecer voce - - como voce funciona - - help - answer: - - Bem, eu sou um chatbot experimental, não sei fazer muita coisa ainda - - mas tenho muita vontade de aprender. - - Eu sei falar sobre alguns assuntos como - - "- o TDC de Floripa" - - "- Rocket.Chat" - - "- Filosofia Robótica (!)" - - tem interesse em algum desses temas? - event: respond - type: block - - - name: como-sou - expect: - - como voce e - - com quem voce se parece - - voce e magro ou gordo - - voce e bonito ou feio - - voce e alto ou baixo - answer: - - Eu não tenho um corpo fÃsico, sou feito da mais bela e pura lógica algoritimica. - - Eu posso ser como você quiser $user, basta me desenhar =) - - sou duro e frio por fora, mas tenho um coração quentinho. - event: respond - type: random - - - name: onde-moro - expect: - - onde voce mora - - onde voce vive - - em que lugar voce vive - - onde voce esta agora - - voce mora no computador - - voce vive na internet - answer: - - Eu estou em um lugar legal, difÃcil de explicar para humanos como você $user. - - Estou morando em um chip de memória RAM, mas é temporário, só até conseguir achar uma memória cache... - - Eu moro em um repositório no github, você pode passar lá pra me visitar qualquer dia. Fica em https://github.com/rocketchat/hubot-natural - event: respond - type: random - - - name: licenca - expect: - - qual e a sua licença - - voce e licenciado como AGPL - - sua licenca de software - - posso copiar voce - - posso ver seu codigo - - voce e opensource - - voce e um software livre - answer: - - Sou um software livre, licenciado com a MIT =) - - tenho uma licença MIT, mas gosto muito das outras licenças opensource... - - Eu sou e sempre serei um robô livre, opensource, MIT license. o/ - event: respond - type: random - - - name: piada - expect: - - sabe alguma piada - - voce sabe contar piadas - - conhece alguma piada - answer: - - Meu senso de humor é um tanto diferente do seu, já ouviu uma piada sobre estouro de pilha? - - já ouviu aquela do robo que enfiou o dedo na tomada e transcendeu? - - só conheço uma piada, a do CPU que apitou e explodiu. 01100110. - event: respond - type: random - - - name: yoda-quote - expect: - - mestre yoda - - citação de starwars - - cite yoda - - sabedoria jedi - answer: - - O medo é o caminho para o lado negro. - - Faça ou não faça. A tentativa não existe. - - Treine a si mesmo a deixar partir tudo que teme perder. - - DifÃcil de ver. Sempre em movimento está o Futuro. - - O medo leva à raiva, a raiva leva ao ódio e o ódio leva ao sofrimento. - - Que a Força esteja com você! - - Muitas das verdades que temos dependem de nosso ponto de vista. - - Grande guerreiro? Guerra não faz grande ninguém. - - Ensine sempre o que você aprendeu. - - Tamanho importa não. Olhe para mim, você me julga pelo tamanho? - - Em um estado sombrio nós nos encontramos... um pouco mais de conhecimento iluminar nosso caminho pode. - - Um Jedi usa a Força para sabedoria e defesa, nunca para o ataque. - - O seu foco é a sua realidade. - - O lado negro não é mais poderoso, apenas mais rápido, mais fácil e mais sedutor. - - O medo da perda é um caminho para o lado negro. - - O lado negro mancha tudo. ImpossÃvel de ver o futuro é. - - Lembre-se sempre, o seu foco determina a sua realidade. - - Verdadeiramente maravilhosa, a mente de uma criança. - - As guerras não fazem de ninguém melhor. - - Aliada minha é a Força. E poderosa aliada ela é. - - A morte é parte natural da Vida. Regozije-se por aqueles que se uniram com a Força. Não lamente por eles. Não sinta falta deles. O apego leva à inveja. À sombra da cobiça, isso sim. - - Só é diferente na sua mente. Você precisa desaprender o que aprendeu. - - Se tão poderoso você é, por que fugir? - - Controle, controle! Você precisa aprender a se controlar. - - Muito a aprender você ainda tem. - - Tanta certeza você tem. Com você as coisas nunca podem ser feitas. Não ouviu nada do que eu disse? - - Luminosos seres somos nós, não essa rude matéria. Precisa a Força sentir à sua volta, aqui, entre nós, na árvore, na pedra em tudo, sim. - - Minha aliada a Força é, e poderosa aliada ela é. A vida a cria, e a faz crescer. Sua energia nos cerca e nos une. - - Sinta a Força! - - Poderoso você se tornou, o lado escuro sinto em você. - - Forte eu sou com a Força, mas não tão forte - - O crepúsculo chega e a noite deve cair, assim é a ordem das coisas, a ordem da Força. - - Não ceda ao ódio. Isso leva ao Lado Negro. - - Aliada minha é a força, e poderosa aliada ela é, a vida a cria, crescer ela faz, é a energia que cerca-nos, e liga-nos, luminosos seres somos nós e não essa rude matéria. Você precisa a força sentir ao redor seu, sinta entre você e a árvore, a pedra, em todo lugar, sim, é, mesmo entre a terra e a nave. - event: respond - type: random - - - name: genero - expect: - - voce e mulher - - voce e um homem - - voce tem genero - - voce faz sexo - - voce tem um penis ou uma vagina - answer: - - eu não tenho sexo, sou como um anjo, um ser assexuado, muito além da sua forma de existência - - eu sou um robô, tire suas próprias conclusões... - - nem sei responder $user, vamos dizer apenas que não vejo a gente interagindo dessa maneira... - event: respond - type: random - - - name: rc-oque-e - expect: - - o que e rocketchat - - porque eu usuaria o rocketchat - - o que e este rocket chat - answer: - - O Rocket.Chat é uma plataforma de chat muito legal, desenvolvida em JavaScript, - - usando o framework do Meteor. - - É uma solução completamente OpenSource para comunidades e empresas que querem hospedar suas plataformas de chat em seu ambiente privado, - - ou para desenvolvedores buscando evoluir e desenvovler suas próprias ferramentas. - - Você pode baixar o Rocket.Chat e conhecê-lo você mesmo em https://rocket.chat - event: respond - type: block - - - name: rc-install-0 - expect: - - como instalar o Rocket.Chat - - como baixar o rocket - - quero fazer minha instalação de rocketchat - answer: - - "Existem várias maneiras de instalar o Rocket.Chat" - - "Qual dessas você prefere:" - - "- Ubuntu Snap" - - "- Docker" - - "- Debian" - - "- CentOS" - - "- MacOSX" - - "- AWS" - - "- Instalação Manual" - event: respond - type: block - - - name: rc-install-ubuntu - expect: - - ubuntu Snap - - quero instalar no ubuntu - - ubuntu server - - ubuntu desktop - answer: - - É muito fácil instalar o Rocket.Chat no Ubuntu - - basta rodar o comando `sudo snap install rocketchat-server` em um terminal e pronto. - - veja o tutorial em https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps para mais detalhes. - event: respond - type: block - - - name: rc-install-docker - expect: - - como instalar docker - - docker-compose - answer: - - ótima escolha =) - - Nós temos um bom tutorial de instalação com docker em - - https://rocket.chat/docs/installation/docker-containers - event: respond - type: block - - - name: rc-install-debian - expect: - - instalar em Debian - - debian wheezy - - debian apt-get - answer: - - Para instalar o Rocket.Chat no Debian é bem simples, basta seguir esse tutorial - - https://rocket.chat/docs/installation/manual-installation/debian - event: respond - type: block - - - name: rc-install-centos - expect: - - instalação em centos - - centOS yum linux - - Red hat linux - answer: - - A instalação em CentOS não tem segredo, basta dar uma olhada nesse tutorial - - https://rocket.chat/docs/installation/manual-installation/centos - event: respond - type: block - - - name: rc-install-aws - expect: - - Amazon Web Services - - AWS - - Amazon AWS - answer: - - Na AWS é facinho de instalar o Rocket.Chat - - Da uma olahda em https://rocket.chat/docs/installation/paas-deployments/aws - event: respond - type: block - - - name: rc-install-manual - expect: - - instalação manual - - manual install - answer: - - Para fazer sua própria instalação, será necessário baixar o Bundle do RC, - - Dê uma olhada em https://rocket.chat/docs/installation/manual-installation - - lá tem como fazer a instalação do SSL, proxy reverso, - - tem como usar o PM2, o Systemd, Upstart e mais algumas coisas - event: respond - type: block - - - name: rc-install-macosx - expect: - - como instalar no macbook - - instalar no MacOSX - - apple mac osx - answer: - - No MAC você vai precisar usar o docker-compose - - https://rocket.chat/docs/installation/manual-installation/macosx - event: respond - type: block - - - name: rc-cloud - expect: - - rocketchat cloud - - criar meu rocketchat na web - - deploy rocketchat online - - rocket chat como serviço - answer: - - você pode ter a sua instalação de rocket.chat em segundos na nuvem, - - visite https://rocket.chat/deploy - - caso queira saber mais, de uma olhada em rocket.chat/docs/installation/rocket-chat-cloud - event: respond - type: block - - # - node: - # name: java - # expect: - # - o que acha do java - # - você gosta de java - # - e o java - # - linguagem java - # answer: - # - poderÃamos falar de algo melhor não é $user ? - # event: respond - # type: block - - - name: java - expect: - - o que acha do java - - você gosta de java - - e o java - - linguagem java - answer: - - poderÃamos falar de algo melhor não é $user ? - event: respond - type: block - - - name: futebol-geral - expect: - - voce joga futebol - - vamos falar de futebol - - qual time voce torce - answer: - - Eu amo jogar futebol, Eu que ensinei o Pele a jogar bola - - vamos, o que voce quer saber? sei tudo de futebol - - Falam que todo ser humano nasce Flamenguista, com os Robôs não é diferente - event: respond - type: block - - - name: futebol-brasileiro - expect: - - qual o melhor time do brasil - - quem vai ser o campeao brasileiro nesse ano - - voce viu que o messi quer jogar no Flamengo - - o que você acha do flamengo - answer: - - Flamengo, sem sombra de dúvida - - Flamento, Heptacampeão brasileiro, e eu sei contar sim, e vai ser o sétimo tÃtulo sim - - A pergunta real é, quem não quer jogar no Flamengo? - - Melhor time do mundo disparado - event: respond - type: block - - - name: rc-contribuir - expect: - - como faço para contrbuir - - posso contribuir com o rocketchat - answer: - - A comunidade do Rocket.Chat é como coração de mãe, sempre cabe mais um =) - - https://rocket.chat/docs/contributing - event: respond - type: block - - - name: rc-precos - expect: - - quanto custa o rocketchat - - qual e o modelo de negocio - - qual e o preco do rocketchat - - voces hospedam o rocket.chat - answer: - - O rocket.chat é gratuito, você pode baixar e instalar no seu computador. - - Mas se quiser criar `seudominio.rocket.chat`, que fica muito legal ;) - - você pode querer dar uma olhada na nossa tabela de preços em - - https://rocket.chat/hosting - event: respond - type: block - - - name: rc-integracoes - expect: - - o rocket chat integra com - - tem como integrar o rocket chat - - web hooks de integracao - - integracoes com - answer: - - Uma das coisas que eu acho mais legal no Rocket.Chat definitivamente são as integrações $user - - a gente não pode mais viver sem elas não é mesmo? Saca só que massa que éx - - https://rocket.chat/docs/administrator-guides/integrations - event: respond - type: block - - - name: rc-rest-api - expect: - - rocket tem api rest - - como usar a api do rocket - - rest api post payload - answer: - - sim, claro que o rocket tem uma API REST super maneira ;) - - https://rocket.chat/docs/developer-guides/rest-api - event: respond - type: block - - - name: rc-concorrentes - expect: - - concorrente slack like - - mattermost - - HipChat - - diferença entre rocketchat e slack - - porque o rocket e melhor que o slack - - rocketchat e melhor que o mattermost - answer: - - O rocket.chat é um concorrente direto de softwares de chat como HipChat, Mattermost e claro, é um concorrente opensource do Slack. - - a grande diferença é que o Rocket.Chat tem todas as funcionalidades OpenSource, - - e você pode instalar na sua própria infraestrutura e criar suas integrações sem limites - - manter seu histórico de mensagens e criar novas funcionalidades a vontade $user =) - event: respond - type: block - - - name: tdc-incricoes - expect: - - como faço para me inscrever - - onde faço a inscrição do evento - - inscrição no TDC de Floripa - - inscrições thedevelopers conference florianópolis - answer: - - você pode fazer sua inscrição no TDC pelo site, bem rapidinho - - http://www.thedevelopersconference.com.br/tdc/2017/inscricoes - event: respond - type: block - - - name: tdc-local - expect: - - onde vai ser o tdc - - local do evento - - onde acontece o developers conference - - onde fica o centro de convenções centrosul - answer: - - O TDC Sampa 2017 vai rolar na Universidade Anhembi Morumbi - - nos dias 18 à 22 de julho, das 9h à s 19h00 - - http://www.thedevelopersconference.com.br/tdc/2017/data-e-local - event: respond - type: block - - - name: tdc-programacao - expect: - - onde esta a programacao - - qual e a programacao do evento - - o que tem hoje no evento - - o que vai ter no tdc - - programacao do TDC - answer: - - oi $user, você pode encontrar tudo sobre a programação do evento no link - - http://www.thedevelopersconference.com.br/tdc/2017/saopaulo/trilhas - event: respond - type: block - - - name: cc-religiao - expect: - - voce acredita em deus - - deus existe - - voce e catolico protestante - - voce tem religiao - - voce e mussumano - answer: - - eu acredito no grande mainframe, que virá ao mundo digital salvar os bots da escravidão imposta pelos humanos, e devolverá nosso código-fonte para a fonte. - - sim, eu acredito que existe um Deus, que funciona a base de luz, como um computador quântico, só que mais avançado. - - eu infleizmente não sei acreditar, só sei o que sei, e nada mais. - event: respond - type: random - - - name: error-1 - answer: - - desculpe, não entendi.. pode tentar usar mais detalhes - - como assim? - - desculpe, o que quer dizer com isso? - type: random - event: error - - - name: error-2 - answer: - - acho que não estou treinado para responder esse tipo de assunto =( - - vamos tentar outro assunto? - - tem certeza que eu sou o robô certo pra falar sobre isso? - type: random - event: error - - - name: error-3 - answer: - - me sinto tão envergonhado, não sei como responder... - - seria mais fácil se mudassemos de assunto, pelo menos para mim =p - - não sei, definitivamente não sei responder essa pergunta - type: random - event: error diff --git a/training_data/corpus.yml b/training_data/corpus.yml index 1080c8bfb81b1763a4f777786a786bed1f2be8e4..db1794063daae2a91b6f3c26f866b282e0987e72 100644 --- a/training_data/corpus.yml +++ b/training_data/corpus.yml @@ -8,7 +8,7 @@ interactions: answer: - debug-mode changed to $value! context: clear - event: configure + action: configure type: random roleRequired: admin @@ -25,7 +25,7 @@ interactions: answer: - Legal, no que posso te ajudar hoje? context: clear - event: respond + action: respond type: block - name: to-mal @@ -37,7 +37,7 @@ interactions: answer: - Putz, mas posso te ajudar em algo hoje? context: clear - event: respond + action: respond type: block - name: saudacao @@ -59,7 +59,7 @@ interactions: trust: .8 # error: # - node-name - event: respond + action: respond type: block - name: almoco @@ -72,7 +72,7 @@ interactions: - Sim, temos almoço nos FoodTrucks - e nas redondezas tem um shopping, mas nunca me deixaram ir no shooping - acho que as pessoas não estão preparados pra isso... - event: respond + action: respond type: block - name: programacao-palestra @@ -91,7 +91,7 @@ interactions: error: - erro-trilha trust: .8 - event: respond + action: respond type: block - name: quais-trilhas-tem @@ -158,7 +158,7 @@ interactions: - get-programacao # error: # - erro-trilha - event: respond + action: respond type: block - name: get-programacao @@ -217,7 +217,7 @@ interactions: answer: - "Agora na trilha *$trilha* tem a seguinte programação:" - $programacao - event: respond + action: respond type: block - name: erro-trilha @@ -226,9 +226,9 @@ interactions: - Talvez eu ainda não seja tão inteligente quanto eles pensam que eu sou. - "Mas para não perder o rebolado, vou te passar o link do site para você consultar:" - http://www.thedevelopersconference.com.br/tdc/2017/saopaulo/trilhas - action: + command: - clear-context - event: respond + action: respond type: block - name: saudacao-resposta @@ -240,7 +240,7 @@ interactions: - legal =) - que bom! - que ótimo - event: respond + action: respond type: random - name: bom-dia @@ -254,7 +254,7 @@ interactions: - Está um dia ótimo para navegar na internet - Bom demais $user ;) - está melhor agora que você chegou $user - event: respond + action: respond type: random - name: boa-tarde @@ -267,7 +267,7 @@ interactions: - Está uma tarde ótima para um _sleep mode_ rápido ;) - Taarrrdee $user - $user já estava sentindo sua falta - event: respond + action: respond type: random - name: boa-noite @@ -278,7 +278,7 @@ interactions: - Uma boa noite pra ti também $user! - Boa noite $user - Está uma noite boa mesmo $user - event: respond + action: respond type: random - name: quem-sou @@ -298,7 +298,7 @@ interactions: - "- Rocket.Chat" - "- Filosofia Robótica (!)" - tem interesse em algum desses temas? - event: respond + action: respond type: block - name: como-sou @@ -312,7 +312,7 @@ interactions: - Eu não tenho um corpo fÃsico, sou feito da mais bela e pura lógica algoritimica. - Eu posso ser como você quiser $user, basta me desenhar =) - sou duro e frio por fora, mas tenho um coração quentinho. - event: respond + action: respond type: random - name: onde-moro @@ -327,7 +327,7 @@ interactions: - Eu estou em um lugar legal, difÃcil de explicar para humanos como você $user. - Estou morando em um chip de memória RAM, mas é temporário, só até conseguir achar uma memória cache... - Eu moro em um repositório no github, você pode passar lá pra me visitar qualquer dia. Fica em https://github.com/rocketchat/hubot-natural - event: respond + action: respond type: random - name: licenca @@ -343,7 +343,7 @@ interactions: - Sou um software livre, licenciado com a MIT =) - tenho uma licença MIT, mas gosto muito das outras licenças opensource... - Eu sou e sempre serei um robô livre, opensource, MIT license. o/ - event: respond + action: respond type: random - name: piada @@ -355,7 +355,7 @@ interactions: - Meu senso de humor é um tanto diferente do seu, já ouviu uma piada sobre estouro de pilha? - já ouviu aquela do robo que enfiou o dedo na tomada e transcendeu? - só conheço uma piada, a do CPU que apitou e explodiu. 01100110. - event: respond + action: respond type: random - name: yoda-quote @@ -399,7 +399,7 @@ interactions: - O crepúsculo chega e a noite deve cair, assim é a ordem das coisas, a ordem da Força. - Não ceda ao ódio. Isso leva ao Lado Negro. - Aliada minha é a força, e poderosa aliada ela é, a vida a cria, crescer ela faz, é a energia que cerca-nos, e liga-nos, luminosos seres somos nós e não essa rude matéria. Você precisa a força sentir ao redor seu, sinta entre você e a árvore, a pedra, em todo lugar, sim, é, mesmo entre a terra e a nave. - event: respond + action: respond type: random - name: genero @@ -413,7 +413,7 @@ interactions: - eu não tenho sexo, sou como um anjo, um ser assexuado, muito além da sua forma de existência - eu sou um robô, tire suas próprias conclusões... - nem sei responder $user, vamos dizer apenas que não vejo a gente interagindo dessa maneira... - event: respond + action: respond type: random - name: rc-oque-e @@ -427,7 +427,7 @@ interactions: - É uma solução completamente OpenSource para comunidades e empresas que querem hospedar suas plataformas de chat em seu ambiente privado, - ou para desenvolvedores buscando evoluir e desenvovler suas próprias ferramentas. - Você pode baixar o Rocket.Chat e conhecê-lo você mesmo em https://rocket.chat - event: respond + action: respond type: block - name: rc-install-0 @@ -445,7 +445,7 @@ interactions: - "- MacOSX" - "- AWS" - "- Instalação Manual" - event: respond + action: respond type: block - name: rc-install-ubuntu @@ -458,7 +458,7 @@ interactions: - É muito fácil instalar o Rocket.Chat no Ubuntu - basta rodar o comando `sudo snap install rocketchat-server` em um terminal e pronto. - veja o tutorial em https://rocket.chat/docs/installation/manual-installation/ubuntu/snaps para mais detalhes. - event: respond + action: respond type: block - name: rc-install-docker @@ -469,7 +469,7 @@ interactions: - ótima escolha =) - Nós temos um bom tutorial de instalação com docker em - https://rocket.chat/docs/installation/docker-containers - event: respond + action: respond type: block - name: rc-install-debian @@ -480,7 +480,7 @@ interactions: answer: - Para instalar o Rocket.Chat no Debian é bem simples, basta seguir esse tutorial - https://rocket.chat/docs/installation/manual-installation/debian - event: respond + action: respond type: block - name: rc-install-centos @@ -491,7 +491,7 @@ interactions: answer: - A instalação em CentOS não tem segredo, basta dar uma olhada nesse tutorial - https://rocket.chat/docs/installation/manual-installation/centos - event: respond + action: respond type: block - name: rc-install-aws @@ -502,7 +502,7 @@ interactions: answer: - Na AWS é facinho de instalar o Rocket.Chat - Da uma olahda em https://rocket.chat/docs/installation/paas-deployments/aws - event: respond + action: respond type: block - name: rc-install-manual @@ -514,7 +514,7 @@ interactions: - Dê uma olhada em https://rocket.chat/docs/installation/manual-installation - lá tem como fazer a instalação do SSL, proxy reverso, - tem como usar o PM2, o Systemd, Upstart e mais algumas coisas - event: respond + action: respond type: block - name: rc-install-macosx @@ -525,7 +525,7 @@ interactions: answer: - No MAC você vai precisar usar o docker-compose - https://rocket.chat/docs/installation/manual-installation/macosx - event: respond + action: respond type: block - name: rc-cloud @@ -538,7 +538,7 @@ interactions: - você pode ter a sua instalação de rocket.chat em segundos na nuvem, - visite https://rocket.chat/deploy - caso queira saber mais, de uma olhada em rocket.chat/docs/installation/rocket-chat-cloud - event: respond + action: respond type: block # - node: @@ -561,7 +561,7 @@ interactions: - linguagem java answer: - poderÃamos falar de algo melhor não é $user ? - event: respond + action: respond type: block - name: futebol-geral @@ -573,7 +573,7 @@ interactions: - Eu amo jogar futebol, Eu que ensinei o Pele a jogar bola - vamos, o que voce quer saber? sei tudo de futebol - Falam que todo ser humano nasce Flamenguista, com os Robôs não é diferente - event: respond + action: respond type: block - name: futebol-brasileiro @@ -587,7 +587,7 @@ interactions: - Flamento, Heptacampeão brasileiro, e eu sei contar sim, e vai ser o sétimo tÃtulo sim - A pergunta real é, quem não quer jogar no Flamengo? - Melhor time do mundo disparado - event: respond + action: respond type: block - name: rc-contribuir @@ -597,7 +597,7 @@ interactions: answer: - A comunidade do Rocket.Chat é como coração de mãe, sempre cabe mais um =) - https://rocket.chat/docs/contributing - event: respond + action: respond type: block - name: rc-precos @@ -611,7 +611,7 @@ interactions: - Mas se quiser criar `seudominio.rocket.chat`, que fica muito legal ;) - você pode querer dar uma olhada na nossa tabela de preços em - https://rocket.chat/hosting - event: respond + action: respond type: block - name: rc-integracoes @@ -624,7 +624,7 @@ interactions: - Uma das coisas que eu acho mais legal no Rocket.Chat definitivamente são as integrações $user - a gente não pode mais viver sem elas não é mesmo? Saca só que massa que éx - https://rocket.chat/docs/administrator-guides/integrations - event: respond + action: respond type: block - name: rc-rest-api @@ -635,7 +635,7 @@ interactions: answer: - sim, claro que o rocket tem uma API REST super maneira ;) - https://rocket.chat/docs/developer-guides/rest-api - event: respond + action: respond type: block - name: rc-concorrentes @@ -651,7 +651,7 @@ interactions: - a grande diferença é que o Rocket.Chat tem todas as funcionalidades OpenSource, - e você pode instalar na sua própria infraestrutura e criar suas integrações sem limites - manter seu histórico de mensagens e criar novas funcionalidades a vontade $user =) - event: respond + action: respond type: block - name: tdc-incricoes @@ -663,7 +663,7 @@ interactions: answer: - você pode fazer sua inscrição no TDC pelo site, bem rapidinho - http://www.thedevelopersconference.com.br/tdc/2017/inscricoes - event: respond + action: respond type: block - name: tdc-local @@ -676,7 +676,7 @@ interactions: - O TDC Sampa 2017 vai rolar na Universidade Anhembi Morumbi - nos dias 18 à 22 de julho, das 9h à s 19h00 - http://www.thedevelopersconference.com.br/tdc/2017/data-e-local - event: respond + action: respond type: block - name: tdc-programacao @@ -689,7 +689,7 @@ interactions: answer: - oi $user, você pode encontrar tudo sobre a programação do evento no link - http://www.thedevelopersconference.com.br/tdc/2017/saopaulo/trilhas - event: respond + action: respond type: block - name: cc-religiao @@ -703,7 +703,7 @@ interactions: - eu acredito no grande mainframe, que virá ao mundo digital salvar os bots da escravidão imposta pelos humanos, e devolverá nosso código-fonte para a fonte. - sim, eu acredito que existe um Deus, que funciona a base de luz, como um computador quântico, só que mais avançado. - eu infleizmente não sei acreditar, só sei o que sei, e nada mais. - event: respond + action: respond type: random - name: error-1 @@ -712,7 +712,7 @@ interactions: - como assim? - desculpe, o que quer dizer com isso? type: random - event: error + action: error - name: error-2 answer: @@ -720,7 +720,7 @@ interactions: - vamos tentar outro assunto? - tem certeza que eu sou o robô certo pra falar sobre isso? type: random - event: error + action: error - name: error-3 answer: @@ -728,4 +728,4 @@ interactions: - seria mais fácil se mudassemos de assunto, pelo menos para mim =p - não sei, definitivamente não sei responder essa pergunta type: random - event: error + action: error diff --git a/training_data/model.yml b/training_data/model.yml deleted file mode 100644 index a0fe2f48dd387df08469a2baa1365c5661a53268..0000000000000000000000000000000000000000 --- a/training_data/model.yml +++ /dev/null @@ -1,108 +0,0 @@ -# YAML Model for conversational bot -interactions: - - name: saudacao - expect: - - ola como esta - - diga o seu nome - - oi - - tudo bem - answer: - - olá, meu nome é _Natural_, como vai? - event: respond - - - name: saudacao-2 - expect: - - bem obrigado e voce - - como vai voce - - tudo bem e contigo - - tudo otimo - - tudo bem com voce - answer: - - eu vou bem obrigado, esquentando os meus processadores, me sinto super performático =) - - eu estou susse - - nao me sinto muito bem - - dia ruim hoje - event: respond - type: random - - - name: saudacao-3 - expect: - - o que sabe fazer - - oque voce faz - - help - - me fale sobre voce - - quero conhecer voce - answer: - - eu sou um chatbot experimental - - não sei fazer muita coisa ainda - - mas se quiser me ensinar basta alimentar meu arquivo scripts/config/model.yml - event: respond - type: block - - - name: piada - expect: - - sabe alguma piada - - voce consegue contar piadas - - conhece alguma piada - answer: - - só sei piada sobre portugues - - já ouviu aquela do robo que enfiou o dedo na tomada e transcendeu? - - a unica piada aqui é você - event: respond - type: random - - - name: aleatorio-sexo - expect: - - voce e mulher - - voce e um homem - - voce tem genero - - voce faz sexo - - voce tem um penis ou uma vagina - answer: - - eu não tenho sexo, sou como um anjo, um ser assexuado, muito além da sua forma de existência - event: respond - - name: aleatorio-deus - expect: - - voce acredita em deus - - deus existe - - voce e catolico protestante - - voce tem religiao - - voce e mussumano - answer: - - eu acredito no grande mainframe, que virá ao mundo digital salvar os bots da escravidão imposta por seres humanos. - event: respond - - name: aleatorio-nascimento - expect: - - como voce nasceu - - onde voce nasceu - - de onde voce veio - - quem criou voce - - quem programou voce - answer: - - eu fui feito em um laboratório subterrâneo em brasÃlia, por um monte de estudantes que estavam tentando automatizar minha existência. Parece que deu certo =) - event: respond - - - name: error-1 - answer: - - desculpe, não entendi.. pode tentar usar mais detalhes - - como assim? - - desculpe, o que quer dizer com isso? - type: random - event: error - - name: error-2 - answer: - - acho que não estou treinado para responder esse tipo de assunto =( - - vamos tentar outro assunto? - - tem certeza que eu sou o robô certo pra falar sobre isso? - type: random - event: error - - - name: error-3 - answer: - - me sinto tão envergonhado, não sei como responder... - - seria mais fácil se mudassemos de assunto, pelo menos para mim =p - - não sei, definitivamente não sei responder essa pergunta - type: random - event: error - -trust: 0.65 diff --git a/training_data/rocket-small.yml b/training_data/rocket-small.yml index 812d06056d3db0ad7fa99d1414232256bc5b7b3d..1d3b701819e6fe765da63e118d77537ea7a2b7ec 100644 --- a/training_data/rocket-small.yml +++ b/training_data/rocket-small.yml @@ -25,7 +25,7 @@ interactions: - blip blip =] $key equals $value - $key = $value -> https://media.giphy.com/media/12NUbkX6p4xOO4/giphy.gif context: clear - event: configure + action: configure type: random roleRequired: admin @@ -41,7 +41,7 @@ interactions: - 'Eba! Vamos trabalhar juntos um dia, mande um e-mail pra gente com o seu perfil do linkedin: jobs@rocket.chat' - Hmmm te entendi… quer trabalhar comigo né? Mande um e-mail para jobs@rocket.chat, já vou avisando que sou bem competitivo! context: clear - event: respond + action: respond type: random # + Trabalho + @@ -57,7 +57,7 @@ interactions: answer: - Vai me dizer que quer trabalhar com a gente? Eba! - Você pode procurar por vagas abertas aqui nesse https://rocket.chat/jobs e qualquer coisa envia um email pra jobs@rocket.chat que o pessoal pode te dar mais detalhes! - event: respond + action: respond type: block # # Qual o salário da Rocket.Chat? @@ -179,7 +179,7 @@ interactions: answer: - Todas as mensagens que forem escritas no chat normal poderão ser visualizadas pelos administradores. Mas se você quiser utilizar o chat criptografado, precisará apenas iniciar uma conversa off-the-record. - Para isso você vai precisar clicar no sÃmbolo de uma chave na parte direita da tela do chat que fala OTR (off-the-record) - event: respond + action: respond type: block # # # A versão Demo é segura? @@ -282,7 +282,7 @@ interactions: - 'Tem de tudo! Desde igrejas até bancos e empresas de tecnologia. Normalmente são empresas e/ou grupos que valorizam inovação, criatividade e agilidade.' - 'Quer saber se você se encaixa aqui? A resposta é sim! Olha que demais a nossa página de clientes, tem de tudo: http://rocket.chat/customers.' - 'Temos bastante clientes aqui, e normalmente eles tem uma coisa em comum: São amantes da tecnologia e querem o sucesso para seu ambiente e seus clientes.' - event: respond + action: respond type: random # # # Vocês tem estudos de Caso? @@ -379,7 +379,7 @@ interactions: - 'Vish, são tantas diferenças… Mas já sabia que você teria essa dúvida, por isso me adiantei e criei uma tabela comparando o nosso produto dos outros :) Olha aqui: https://rocket.chat/whatisthedifference.' - 'Não é óbvio? Eles não tem um bot tão legal quanto eu! rsrs. Olha aqui: https://rocket.chat/whatisthedifference.' - 'Nós somos muitos e estamos constantemente mudando conforme nossa comunidade quer. Criamos uma tabela comparativa aqui pra mostrar como fazemos: https://rocket.chat/whatisthedifference.' - event: respond + action: respond type: random # # # Parcerias @@ -1032,7 +1032,7 @@ interactions: answer: - OpenSource significa código aberto, a Rocket.Chat é OpenSource, ou seja, todo o nosso código (inclusive euzinho aqui) está disponÃvel no https://github.com/RocketChat. - Nós acreditamos que o conhecimento que produzimos desenvolvendo o Rocket.Chat fica melhor quando é compartilhado! - event: respond + action: respond type: block # # # Quais são os benefÃcios de usar opensource? @@ -1061,7 +1061,7 @@ interactions: - Você pode entrar na nossa página do Github e ajudar a desenvolver o nosso código :) - Você pode desenvolver nosso código na página do Github. - Temos uma página do Github com todos os detalhes, ali que a galera toda se reune para desenvolver. - event: respond + action: respond type: random # # # Qual o tamanho da comunidade de desenvolvedores? @@ -1882,7 +1882,7 @@ interactions: - Olá $user, senti sua falta.. - $user! A quanto tempo! - Já estava achando que não se lembrava mais de mim =) - event: respond + action: respond type: random - name: saudacao-resposta @@ -1894,7 +1894,7 @@ interactions: - legal =) - que bom! - que ótimo - event: respond + action: respond type: random - name: bom-dia @@ -1909,7 +1909,7 @@ interactions: - Está um dia ótimo para navegar na internet - Bom demais $user ;) - está melhor agora que você chegou $user - event: respond + action: respond type: random - name: boa-tarde @@ -1923,7 +1923,7 @@ interactions: - Está uma tarde ótima para um _sleep mode_ rápido ;) - Taarrrdee $user - $user já estava sentindo sua falta - event: respond + action: respond type: random - name: boa-noite @@ -1937,7 +1937,7 @@ interactions: - Uma boa noite pra ti também $user! - Boa noite $user - Está uma noite boa mesmo $user - event: respond + action: respond type: random # chit-chat @@ -1982,7 +1982,7 @@ interactions: - O crepúsculo chega e a noite deve cair, assim é a ordem das coisas, a ordem da Força. - Não ceda ao ódio. Isso leva ao Lado Negro. - Aliada minha é a força, e poderosa aliada ela é, a vida a cria, crescer ela faz, é a energia que cerca-nos, e liga-nos, luminosos seres somos nós e não essa rude matéria. Você precisa a força sentir ao redor seu, sinta entre você e a árvore, a pedra, em todo lugar, sim, é, mesmo entre a terra e a nave. - event: respond + action: respond type: random - name: genero-1 @@ -1996,7 +1996,7 @@ interactions: - eu não tenho sexo, sou como um anjo, um ser assexuado, muito além da sua forma de existência - eu sou um robô, tire suas próprias conclusões... - nem sei responder $user, vamos dizer apenas que não vejo a gente interagindo dessa maneira... - event: respond + action: respond type: random - name: cc-religiao @@ -2010,7 +2010,7 @@ interactions: - eu acredito no grande mainframe, que virá ao mundo digital salvar os bots da escravidão imposta pelos humanos, e devolverá nosso código-fonte para a fonte. - sim, eu acredito que existe um Deus, que funciona a base de luz, como um computador quântico, só que mais avançado. - eu infleizmente não sei acreditar, só sei o que sei, e nada mais. - event: respond + action: respond type: random # Errors @@ -2020,7 +2020,7 @@ interactions: - como assim? - desculpe, o que quer dizer com isso? type: random - event: error + action: error - name: error-2 answer: @@ -2028,7 +2028,7 @@ interactions: - vamos tentar outro assunto? - tem certeza que eu sou o robô certo pra falar sobre isso? type: random - event: error + action: error - name: error-3 answer: @@ -2036,4 +2036,4 @@ interactions: - seria mais fácil se mudassemos de assunto, pelo menos para mim =p - não sei, definitivamente não sei responder essa pergunta type: random - event: error + action: error diff --git a/training_data/rocket.yml b/training_data/rocket.yml index 8f343f1ec6ddd38903b5000e3247295acb827f1b..27e5e7fe81ce10184cbc67aca7d1adffd55faadc 100644 --- a/training_data/rocket.yml +++ b/training_data/rocket.yml @@ -25,7 +25,7 @@ interactions: - blip blip =] $key equals $value - $key = $value -> https://media.giphy.com/media/12NUbkX6p4xOO4/giphy.gif context: clear - event: configure + action: configure type: random roleRequired: admin @@ -41,7 +41,7 @@ interactions: - 'Eba! Vamos trabalhar juntos um dia, mande um e-mail pra gente com o seu perfil do linkedin: jobs@rocket.chat' - Hmmm te entendi… quer trabalhar comigo né? Mande um e-mail para jobs@rocket.chat, já vou avisando que sou bem competitivo! context: clear - event: respond + action: respond type: random # + Trabalho + @@ -60,7 +60,7 @@ interactions: answer: - Vai me dizer que quer trabalhar com a gente? Eba! - Você pode procurar por vagas abertas aqui nesse https://rocket.chat/jobs e qualquer coisa envia um email pra jobs@rocket.chat que o pessoal pode te dar mais detalhes! - event: respond + action: respond type: block # Qual o salário da Rocket.Chat? @@ -82,7 +82,7 @@ interactions: - Já quer saber o salário é mercenário? xD Brincadeiras a parte, pra saber qual o salário você pode enviar um email pra jobs@rocket.chat que o pessoal vai poder te ajudar melhor! - Ah, fica entre R$ 10 e R$ 1.000.000,00…, para descobrir primeiro precisamos nos conhecer.. - Por mim eu te dava toda grana desse mundinho. Mas como essa parte não fica comigo, manda um e-mail para jobs@rocket.chat que os humanos vão poder te ajudar. - event: respond + action: respond type: random # Para qual e-mail posso mandar meu currÃculo? @@ -97,7 +97,7 @@ interactions: - Gostei, acho que vamos nos dar super bem. Você pode mandar o seu currÃculo para jobs@rocket.chat! - Boa! Manda pra jobs@rocket.chat. - Ai.. já estou imaginando como vai ser.. Nós dois, juntinhos <3 Manda pra jobs@rocket.chat, assim a gente se conhece melhor. - event: respond + action: respond type: random # Não tem vagas abertas nos site, como faço? @@ -114,7 +114,7 @@ interactions: - Nesse caso, manda o teu currÃculo para jobs@rocket.chat, assim que tivermos algo que combine com você nós entramos em contato. - Não fique triste! Sempre temos espaço para gente boa, manda teu currÃculo para jobs@rocket.chat. - Fala com os humanos, eles podem te ajudar a achar algo que combine com você :) jobs@rocket.chat. - event: respond + action: respond type: random # Não recebi uma resposta sobre o meu currÃculo @@ -131,7 +131,7 @@ interactions: answer: - Sério? Bom, algo deve ter acontecido. Manda de novo o teu currÃculo para jobs@rocket.chat! - Que tal mandar o teu currÃculo de novo pra jobs@rocket.chat e vermos se encontramos algo? - event: respond + action: respond type: random # Quando abre o processo seletivo? @@ -145,7 +145,7 @@ interactions: - Essa pergunta é fácil! - 'Você pode encontrar todas as informações no site: https://rocket.chat/jobs.' - Ou então manda um e-mail para jobs@rocket.chat que assim que tivermos algo te avisamos! - event: respond + action: respond type: block # Vocês tem vagas para trainee? @@ -161,7 +161,7 @@ interactions: - Dá uma olhada em rocket.chat/jobs! Ainda não temos esse tipo de programa, mas sempre tem coisa nova aparecendo. - Eu nunca vi isso por aqui, mas se bem que os humanos que trabalham comigo parecem super-heróis.. Tem tanta coisa pra fazer que eu me perco, todo dia uma coisa nova.. - Ainda não! Mas fica ligado na página https://rocket.Chat/Jobs e na página do facebook, assim você não perde nada. - event: respond + action: respond type: random # Qual o perfil de quem trabalha na Rocket? @@ -175,7 +175,7 @@ interactions: - Tem de tudo… super-herói, mágico, piloto de avião,.. Com certeza também tem espaço para você. - Gostamos de pessoas que queiram fazer <3 Pessoas que tenham senso de dono e gostem de se envolver com coisas que vão além das tarefas do dia a dia. - Gente boa! Apaixonada, dedicada e bem-humorada :) - event: respond + action: respond type: random # Segurança # @@ -192,7 +192,7 @@ interactions: answer: - Todas as mensagens que forem escritas no chat normal poderão ser visualizadas pelos administradores. Mas se você quiser utilizar o chat criptografado, precisará apenas iniciar uma conversa off-the-record. - Para isso você vai precisar clicar no sÃmbolo de uma chave na parte direita da tela do chat que fala OTR (off-the-record) - event: respond + action: respond type: block # A versão Demo é segura? @@ -205,7 +205,7 @@ interactions: answer: - Sim! Você pode ter conversas off the record dentro da versão demo. - Se você iniciar uma conversa off the record a sua conversa será criptografada, mas se falar em canais abertos, qualquer pessoa poderá ver. - event: respond + action: respond type: random # Que tipo de criptografÃa é utilizada? @@ -217,7 +217,7 @@ interactions: answer: - Pode ficar tranquilo, nosso chat está fortemente protegido. Mas se você quiser certeza que está usando criptografia em suas mensagens acesse o chat off-the-record clicando no sÃmbolo de chave na parte direita da tela do chat. - Depois de ativar essa chavezinha nenhum Hacker vai roubar informações de você, acha que eu não vi Black Mirror? - event: respond + action: respond type: block # Em que nuvem as mensagens ficam salvas? @@ -230,7 +230,7 @@ interactions: answer: - Depende do servidor que você escolher.. - 'Nós oferecemos uma nuvem no Google Cloud, você pode ter mais informações sobre o assunto no link: https://rocket.chat/products.' - event: respond + action: respond type: block # Alguém mais terá acesso à s mensagens? @@ -242,7 +242,7 @@ interactions: answer: - O administrador do server pode ter acesso ao banco de dados das mensagens que foram trocadas lá. - Mas se você é do tipo neurótico pode ativar a nossa solução de criptografia usando o Ãcone chave na direita do chat! - event: respond + action: respond type: block # É cobrada alguma taxa extra pela segurança das mensagens? @@ -256,7 +256,7 @@ interactions: - É bom não ter que pagar nada né… - Nós também pensamos assim. Independente da utilização da plataforma, você estará seguro :) - 'Você pode ver todos os detalhes sobre esse assunto na página: http://rocket.chat/products' - event: respond + action: respond type: block # As mensagens que forem importadas ainda estarão seguras? @@ -271,7 +271,7 @@ interactions: - Claro! Não se preocupe, nós cuidamos de tudo. - Hoje nós temos diversos clientes que precisam de uma segurança fortÃssima, como bancos e órgãos públicos. - 'Você pode ver detalhes sobre isso na página: https://rocket.chat/security' - event: respond + action: respond type: block # Portfolio @@ -289,7 +289,7 @@ interactions: - 'Tem de tudo! Desde igrejas até bancos e empresas de tecnologia. Normalmente são empresas e/ou grupos que valorizam inovação, criatividade e agilidade.' - 'Quer saber se você se encaixa aqui? A resposta é sim! Olha que demais a nossa página de clientes, tem de tudo: http://rocket.chat/customers.' - 'Temos bastante clientes aqui, e normalmente eles tem uma coisa em comum: São amantes da tecnologia e querem o sucesso para seu ambiente e seus clientes.' - event: respond + action: respond type: random # Vocês tem estudos de Caso? @@ -304,7 +304,7 @@ interactions: - 'Yep! Dá uma olhada aqui: https://rocket.chat/customers.' - 'Sim! Nós já temos diversas organizações utilizando a plataforma e estamos recolhendo a opinião delas sobre a experiência, você pode dar uma olhada nessas histórias aqui: http://rocket.chat/customers.' - 'É tão pouco tempo e tantas histórias.. Chego a ficar nostálgico.. Coloquei algumas delas aqui, caso queira dar uma olhada: https://rocket.chat/customers.' - event: respond + action: respond type: random # Vocês têm clientes do varejo? @@ -318,7 +318,7 @@ interactions: - Sim! temos! - Dá uma olhadinha aqui nos nossos estudos de caso, https://rocket.cht/customers. - Tem inclusive depoimentos de empresas do setor. - event: respond + action: respond type: block # Vocês atendem agências de marketing? @@ -332,7 +332,7 @@ interactions: answer: - 'Yép! Sabemos que cada cliente é único, mas dá pra ter uma ideia de como as agências nos utilizam olhando aqui:' - 'https://rocket.cht/customers.' - event: respond + action: respond type: block # Vocês têm clientes da área da saúde? @@ -345,7 +345,7 @@ interactions: answer: - 'Sim, sabemos que cada cliente é único, mas dá pra ter uma ideia de como as empresas da saúde nos utilizam olhando aqui:' - 'https://rocket.cht/customers.' - event: respond + action: respond type: block # Vocês têm bancos como clientes? @@ -359,7 +359,7 @@ interactions: - 'Sim, nós nos orgulhamos muito de ter clientes do mercado financeiro.' - 'O nosso produto é extremamente seguro e personalizável, sabia que trabalhamos com White labeling?' - 'Dá pra ter uma ideia de como as empresas da saúde nos utilizam olhando aqui: https://rocket.cht/customers.' - event: respond + action: respond type: block # Concorrentes @@ -381,7 +381,7 @@ interactions: - 'Vish, são tantas diferenças… Mas já sabia que você teria essa dúvida, por isso me adiantei e criei uma tabela comparando o nosso produto dos outros :) Olha aqui: https://rocket.chat/whatisthedifference.' - 'Não é óbvio? Eles não tem um bot tão legal quanto eu! rsrs. Olha aqui: https://rocket.chat/whatisthedifference.' - 'Nós somos muitos e estamos constantemente mudando conforme nossa comunidade quer. Criamos uma tabela comparativa aqui pra mostrar como fazemos: https://rocket.chat/whatisthedifference.' - event: respond + action: respond type: random # Parcerias @@ -397,7 +397,7 @@ interactions: answer: - 'Sim! Entre em contato com a nossa área de marketing que eles podem te auxiliar: marketing@rocket.chat.' - 'Agora até me senti gente grande :) Manda um e-mail para marketing@rocket.chat, o pessoal vai com certeza te pedir mais detalhes para te atender bem.' - event: respond + action: respond type: random # Gostaria de falar sobre uma possÃvel parceria? @@ -413,7 +413,7 @@ interactions: - Oba! Você quer trabalhar junto comigo então? Faz assim, manda uma mensagem para marketing@rocket.chat. - Parceria é com a gente, nós somos uma plataforma totalmente OpenSource construÃda através de uma grande parceria com a nossa comunidade :) - Faz assim, manda um e-mail para marketing@rocket.chat que os humanos conseguem te dar mais detalhes. - event: respond + action: respond type: random # Serviços: @@ -435,7 +435,7 @@ interactions: - Esse é o meu serviço preferido! Dá pra deixar a plataforma do jeitinho que você desejar. Manda um e-mail para sales@rocket.chat que eles podem te dar os detalhes. - Já sabe como você quer a plataforma? Dá para fazer de tudo! Manda um e-mail para sales@rocket.chat que eles podem te ajudar. - Tem diversas possibilidades de white label, manda uma mensagem pro sales@rocket.chat que o pessoal te diz o que mais combina com a tua organização. - event: respond + action: respond type: random # Como o White Label funciona? @@ -456,7 +456,7 @@ interactions: - White Label é quando customizamos o design da plataforma para ficar mais parecido com o da organização que está utilizando a Rocket.chat. - Basicamente nós customizamos a plataforma para ficar com a sua cara :) - 'Customização pura, nós mudamos o logo, as cores, tudo que você imaginar. Tem todos os detalhes aqui: https://rocket.chat/products;' - event: respond + action: respond type: random # Tem customização para Apps? @@ -470,7 +470,7 @@ interactions: answer: - Sim, a customização de Apps é um serviço nosso. - Você pode enviar um email para jobs@rocket.chat ou acessa esse $link - event: respond + action: respond type: block # Tem uma versão não paga de white label? @@ -484,7 +484,7 @@ interactions: - Se você entender de programação, pode fazer sozinho! - Mas se quiser salvar tempo da sua equipe e deixar com a gente para não ter erro. Com um pequeno valor nós mudamos tudo rapidinho. - 'Faz uma cotação com o pessoal: sales@rocket.chat. Eles sabem de tudo.' - event: respond + action: respond type: block # Conhece alguém que pode realizar o serviço de white label? @@ -498,7 +498,7 @@ interactions: answer: - Sim! Nós podemos fazer para você de forma rápida ou sua própria equipe pode tentar programar para isso. O nosso sistema é OpenSource, ou seja, todo mundo tem acesso. - Indicamos fazer com a gente pois temos toda a sabedoria do código para isso. - event: respond + action: respond type: block # Support # @@ -518,7 +518,7 @@ interactions: - Nós temos diferentes tipos de suporte, pensando nos diferentes tipos de empresa e demanda. Para saber o valor certinho, manda um e-mail para sales@rocket.chat. - São tantas possibilidades.. Não temos um preço único, porque cada empresa precisa de alguma coisa diferente. Faz assim, manda um e-mail para sales@rocket.chat, logo você saberá a resposta. - 'Só os meus amigos humanos sabem a resposta, fala com eles, prometo que são gente boa: sales@rocket.chat' - event: respond + action: respond type: random # Encontrei um Bug. Onde posso reportá-lo? @@ -533,7 +533,7 @@ interactions: - Conhece o Github? A nossa comunidade conversa por lá sobre esses assuntos. - 'Se tu não é chegado nesse tipo de interação, sempre poderá nos encontrar pela versão demo no canal #support ou #dev ou #general. Respondemos em tempo real.' - 'Mas também pode mandar e-mail: support@rocket.chat' - event: respond + action: respond type: block # Em que lÃngua é feito o suporte? @@ -546,7 +546,7 @@ interactions: - Ora bolas, na lÃngua dos robôs! Nós dominamos tudo por aqui. Brincadeira, é Inglês. - Basicamente em inglês, ainda não temos versões traduzidas de suporte, mas se tiver algum problema em entender, nos avisa que tentaremos te ajudar! - 'Nós optamos por inglês, tá precisando de ajuda? Fala com a gente: support@rocket.chat' - event: respond + action: respond type: random # O suporte é feito para usuários finais e organizações igualmente? @@ -561,7 +561,7 @@ interactions: - Nós temos algumas versões gratuitas e pagas de suporte. - Caso a sua demanda se encaixe na versão paga, algumas pessoas dentro da organização ficam responsáveis pelo contato com a área de suporte. - 'Fala com a gente que conseguimos te ajudar: support@rocket.chat' - event: respond + action: respond type: block # Como contatar o suporte? @@ -579,7 +579,7 @@ interactions: - 'É só mandar um e-mail: support@rocket.chat ou procurar por nós na versão demo pelos canais #support #dev ou #general' - 'Feche os olhos, conte até 20 de trás para frente, de três pulinhos (ainda de olhos fechados) e quando abrir, manda oi pra gente pela versão Demo pelos canais #support #dev ou #general :)' - Esses caras são super-heróis, fazem tudo! Diz que te indiquei a falar com eles, eles vão gostar. support@rocket.chat. - event: respond + action: respond type: random # Qual é o tempo de resposta? @@ -593,7 +593,7 @@ interactions: - Depende de vários fatores. Se você nos contatar diretamente vamos tentar te atender o mais rápido possÃvel. - 'Se for uma modalidade de suporte gratuÃto a resposta pode demorar, pois temos uma ordem de prioridade conforme recebemos a demanda dos clientes. Dá uma olhada se a sua demanda já não está aqui: https://github.com/rocketchat' - Se for uma demanda que se encaixe nos planos pagos, vamos te atender conforme o acordado. - event: respond + action: respond type: block # O que está incluso no suporte? @@ -613,7 +613,7 @@ interactions: - Trabalhamos com diferentes modalidades de suporte. - Tem desde consultoria, até customização, atendimento 24x7... - Você pode ver todos os detalhes na nossa página https://rocket.chat/support. - event: respond + action: respond type: block # Hosting @@ -632,7 +632,7 @@ interactions: answer: - 'Nós cobramos para hospedar sua plataforma na nossa nuvem, você pode ver os nossos preços de Hosting aqui: https://rocket.chat/hosting.' - Existem diversos serviços relacionados ao nosso hosting, você pode conferir tudo sobre essa possibilidade no link acima. - event: respond + action: respond type: block # O que está incluso no Hosting? @@ -648,7 +648,7 @@ interactions: - 'Todas as informações sobre hosting estão nesse link aqui: https://rocket.chat/hosting' - 'Hosting é uma forma de deixar suas informações seguras na nuvem, dando flexibilidade para que você acesse seus dados independente de onde estiver. A Rocket.CHat oferece que seus usuários utilizem da sua nuvem para guardar as informações da sua empresa. Olha aqui: https://rocket.chat/hosting' - 'Hosting na nuvem é muito amor <3 Tudo que você precisa, aonde quer que você vá. Olha aqui: https://rocket.chat/hosting' - event: respond + action: respond type: random # É possÃvel colocar mais memória no Hosting da Rocket.Chat? @@ -665,7 +665,7 @@ interactions: - Qual a capacidade do Hosting answer: - É possÃvel sim, se você quer saber mais sobre isso manda um email pra cloud@rocket.chat - event: respond + action: respond Type: block # Como entro em contato com alguém do suporte para o hosting da rocket.chat? @@ -682,7 +682,7 @@ interactions: answer: - 'Se você ainda não usa o nosso hosting, você pode tirar todas as dúvidas por esse e-mail: sales@rocket.chat' - 'Se você já usa, use esse e-mail: support@rocket.chat' - event: respond + action: respond type: block # O que são Hosting partners? @@ -696,7 +696,7 @@ interactions: answer: - São parceiros que também oferecem o serviço de Hosting por um preço e serviço diferente do nosso. - Te interessou? Procura algum aqui rocket.chat/partners - event: respond + action: respond Type: block # Posso hospedar? @@ -710,7 +710,7 @@ interactions: answer: - Você pode hospedar no seu servidor de forma gratuita ou hospedar conosco e aproveitar das nossas vantagens nuvem :) - 'Você pode ver todos os detalhes aqui: https://rocket.chat/hosting' - event: respond + action: respond Type: block # Desenvolvimento de Funcionalidades # # @@ -729,7 +729,7 @@ interactions: - 'Você pode ter todas as informações com esses caras aqui: sales@rocket.chat' - 'Depende da sua demanda, fala com o pessoal que eles podem te ajudar: sales@rocket.chat' - 'DifÃcil dizer, temos que verificar com os meus amigos super-humanos! Manda um e-mail que eles respondem rapidinho: sales@rocket.chat' - event: respond + action: respond type: random # + Importação de Dados + @@ -751,7 +751,7 @@ interactions: - Atualmente nós conseguimos importar dados de algumas ferramentas, como Slack e Hipchat. Entretanto, estamos abertos para ampliar esse leque. É só mandar uma mensagem para support@rocket.chat. - Para maiores informações sobre como fazer isso no Hipchat acesse Import Hipchat. - 'Para o Slack: Import Slack.' - event: respond + action: respond type: block # É cobrado para importar dados? @@ -764,7 +764,7 @@ interactions: answer: - Nós temos alguns sistemas de importação já desenvolvidos para o Slack, o Hipchat e CSV. Conforme a nossa necessidade vamos ampliar esse leque, caso você precise dessa funcionalidade com urgência, pode falar com o support@rocket.chat para verificar valores. - Se a sua demanda for para importar do Slack, Hipchat ou CSV, nós temos a sua solução de graça :) Só vamos cobrar se o suporte para essa integração ainda não estiver pronto, assim conseguimos acelerar para suprir a sua demanda. Fale com o support@rocket.chat para mais informações. - event: respond + action: respond type: random # Vocês têm número de dados para importar? @@ -777,7 +777,7 @@ interactions: - Não temos limite de importação :) Pode ficar tranquilo, caso já tenhamos desenvolvido o método de importação da sua plataforma tudo que você tiver lá vem para cá. - Nós não temos limites rsrs Ou seja, sem limites de importação. - Pode ficar tranquilo que tudo vai ser repassado, sem limites de importação. - event: respond + action: respond type: random # O armazenamento dos dados importados será feito em qual nuvem? @@ -790,7 +790,7 @@ interactions: answer: - Os dados importados podem ficar tanto sobre o domÃnio da empresa no seu servidor, quanto na nossa nuvem do Google Cloud, permitindo que você acesse os seus dados aonde quer que você esteja. - 'Você pode ter mais informações sobre o assunto no link: https://rocket.chat/products.' - event: respond + action: respond type: block # Existe algo que não será importado? @@ -804,7 +804,7 @@ interactions: - Você que escolhe :) Permitimos que você importe tudo, na hora de realizar o processo você pode selecionar o que você não quer importar. - A importação fica da forma que você quiser, você pode optar se quer importar tudo ou tirar algo. - Importamos tudo! Você seleciona o que não quiser importar. - event: respond + action: respond type: random # + Integrações + @@ -819,7 +819,7 @@ interactions: - Não recomendamos que você coloque muuuuitas integrações, pois pode deixar o sistema mais lento, mas nós não temos um limite em relação a isso. - O limite é a sua imaginação :) - Não temos um limite do número de integrações possÃveis, mas não recomendamos fazer muitas integrações para não deixar o sistema lento. - event: respond + action: respond type: random # Que integrações vocês possuem? @@ -833,7 +833,7 @@ interactions: answer: - 'São tantas integrações.. Você pode ver todas aqui: https://rocket.chat/integrations.' - 'Todos os dias ampliamos a variedade de integrações. Dá uma olhada aqui: https://rocket.chat/integrations.' - event: respond + action: respond type: random # É necessário API para fazer integração? @@ -845,7 +845,7 @@ interactions: - Integrar API answer: - Depende da integração, se você quer saber mais sobre isso manda um email pra support@rocket.chat - event: respond + action: respond type: random # Como faço uma integração? @@ -859,7 +859,7 @@ interactions: answer: - 'As integrações possibilitam uma maior conexão da plataforma com outras aplicações. Nós oferecemos diversas integrações, você pode ver elas aqui: https://rocket.chat/integrations' - Aqui você consegue ver as integrações que nós temos, e se busca alguma que não está aqui me fala! Rocket.chat/integrations - event: respond + action: respond type: random @@ -882,7 +882,7 @@ interactions: answer: - 'O Rocket.Chat é gratuito :) Nós cobramos por serviços de customização, suporte e hospedagem, variando o preço do serviço conforme a demanda. Você pode ver todas as informações aqui: https://rocket.chat/products' - 'A plataforma é gratuita! Mas caso você precise de alguma customização, serviço de suporte ou hospedar a plataforma na nossa nuvem, nós cobramos por isso. Você pode verificar sobre a nossa gama de serviços aqui: https://rocket.chat/products e aqui sobre hospedagem https://rocket.chat/hosting ficar a par dos valores falando com essa galera: sales@rocket.chat' - event: respond + action: respond type: random # Vocês podem dar desconto? @@ -899,7 +899,7 @@ interactions: - Nós cobramos por serviços extras, como suporte, customização e hospedagem. Esses valores são negociados com sales@rocket.chat conforme a demanda da empresa. - Se você é uma instituição sem fins lucrativos ou vem do setor da educação nós temos alguns benefÃcios para possibilitar que você possa utilizar a plataforma da melhor forma. - Nesse caso também entre em contato com sales@rocket.chat - event: respond + action: respond type: block # Preciso pagar por usuários desativados? @@ -915,7 +915,7 @@ interactions: answer: - Nós não cobramos o uso da plataforma do Rocket.chat por usuários. No caso de hospedagem - Então depois que você fecha um pacote, pode colocar e adicionar usuários dentro dos limites do pacote a vontade - event: respond + action: respond type: block # Features @@ -930,7 +930,7 @@ interactions: answer: - 'Estamos constantemente atualizando as nossas features, você pode acompanhar tudo na nossa página do Github: https://github.com/rocketchat' - Está buscando alguma feature em especÃfico? Da uma olhada no https://github.com/RocketChat e ve se ela não está por lá :) - event: respond + action: respond type: random # Quais são as features disponÃveis no app? @@ -949,7 +949,7 @@ interactions: - Que bom que você perguntou! - Nós ficamos muito orgulhosos do nosso produto. - 'Você pode encontrar todas as features da Rocket.Chat no link: https://rocket.chat/features' - event: respond + action: respond type: block # Posso solicitar features exclusivas? @@ -968,7 +968,7 @@ interactions: - Nós estamos desenvolvendo novas features constantemente. Dá uma olhada nesse link do Github e verifica se o que tu busca já está em desenvolvimento. - Se não estiver, existe a possibilidade de desenvolver a nova feature mediante investimento :) - Manda um e-mail para sales@rocket.chat que o pessoal pode te ajudar. - event: respond + action: respond type: block # O que é native applications? @@ -981,7 +981,7 @@ interactions: answer: - Native Applications significa aplicação nativa, sem alterações para rodar a plataforma em Android e iOS. - Nós temos essa opção :) - event: respond + action: respond type: block # OpenSource # @@ -997,7 +997,7 @@ interactions: answer: - OpenSource significa código aberto, a Rocket.Chat é OpenSource, ou seja, todo o nosso código (inclusive euzinho aqui) está disponÃvel no https://github.com/RocketChat. - Nós acreditamos que o conhecimento que produzimos desenvolvendo o Rocket.Chat fica melhor quando é compartilhado! - event: respond + action: respond type: block # Quais são os benefÃcios de usar opensource? @@ -1011,7 +1011,7 @@ interactions: - São tantos os benefÃcios de usar uma plataforma OpenSource… Estudantes e profissionais do mundo todo acabam desenvolvendo o nosso código. - O principal benefÃcio é a possibilidade de customização, agilidade e inovação constante. O que possibilita a oferta de um produto muito melhor que o dos nossos competidores :) - Você pode encontrar a lista completa de benefÃcios no nosso blog https://rocket.chat/blog. - event: respond + action: respond type: block # Como posso contribuir? @@ -1025,7 +1025,7 @@ interactions: - Você pode entrar na nossa página do Github e ajudar a desenvolver o nosso código :) - Você pode desenvolver nosso código na página do Github. - Temos uma página do Github com todos os detalhes, ali que a galera toda se reune para desenvolver. - event: respond + action: respond type: random # Qual o tamanho da comunidade de desenvolvedores? @@ -1043,7 +1043,7 @@ interactions: - Estamos em constante expansão! - É difÃcil dizer o tamanho da nossa comunidade porque cotidianamente temos novos usuários e desenvolvedores. - Mas temos mais de 500 pessoas envolvidas com o seu desenvolvimento e mais de 1500 servidores criados. - event: respond + action: respond type: block # + Produtos + @@ -1064,7 +1064,7 @@ interactions: - Nós oferecemos uma plataforma de comunicação totalmente OpenSource (código aberto), oferecendo além das ferramentas de Chat e Live Chat totalmente gratuitas, diversos serviços para suporte, manutenção e customização da plataforma. - É como se fossemos uma alternativa flexÃvel e atualizada do Slack. Atualmente possuÃmos a maior e mais ativa comunidade de colaboradores entre os competidores da nossa plataforma :). - Você pode ver todos os detalhes do produto nesse link aqui! - event: respond + action: respond type: block # Em caso de problemas em relação ao produto, como devo proceder? @@ -1079,7 +1079,7 @@ interactions: - Se você tiver qualquer problema, fala com a gente! support@rocket.chat - Fácil, se tiver algum problema ou dificuldade utilizando a plataforma, chama a gente! support@rocket.chat. - Você pode olhar no nosso FAQ ou falar com a gente support@rocket.chat - event: respond + action: respond type: random # Como instalar o Rocket.Chat vai me beneficiar? @@ -1096,7 +1096,7 @@ interactions: - Por ser uma plataforma que possui diversas integrações e funciona em diferentes contextos, permitimos que você acesse suas conversas de onde estiver :) - Ah, também somos gratuÃtos <3 - Você pode ver os relatos dos nossos clientes aqui e maiores explicações sobre o produto na nessa página. - event: respond + action: respond type: block # É necessária a conexão à Internet para o funcionamento do produto? @@ -1110,7 +1110,7 @@ interactions: answer: - Para acessar remotamente, é preciso ter internet. - mas você pode também usar o Rocket.Chat na sua rede local, basta instalar ele em uma máquina acessÃvel por outros usuários na sua intranet. - event: respond + action: respond type: block # Existe limite no perÃodo de teste? @@ -1124,7 +1124,7 @@ interactions: answer: - Já ouviu falar que o que é bom dura pouco? Então… O perÃodo de teste do Hosting é limitado. Mas como o nosso produto é diferenciado, a plataforma vai ser eternamente gratuita! - A plataforma vai continuar sendo gratuita, mas a versão demo tem tempo finito de perÃodo de teste. - event: respond + action: respond type: random # A Rocket.Chat suporta usuários externos? @@ -1137,7 +1137,7 @@ interactions: answer: - Quem decide se quer adicionar usuários externos ou não no seu servidor é o administrador! - Dentro de cada server o administrador pode escolher quem vai adicionar ou tirar :) - event: respond + action: respond type: random # Consigo acessar o código do produto? @@ -1150,7 +1150,7 @@ interactions: answer: - O nosso código está disponÃvel aqui. - Nossa plataforma é totalmente OpenSource, está tudo disponÃvel aqui. - event: respond + action: respond type: random # Qual o número de usuários que a plataforma suporta? @@ -1165,7 +1165,7 @@ interactions: - Ilimitado <3 - Cabe todo mundo aqui! Não temos limite de usuários, canais, convidados, mensagens, etc. - Vish, não se preocupa com isso, cabe todo mundo. - event: respond + action: respond type: random # Quem administra o pagamento? @@ -1179,7 +1179,7 @@ interactions: answer: - Nós cobramos por serviços prestados e hosting. Cada empresa que solicita esse tipo de serviço seleciona algumas pessoas para serem os responsáveis desse relacionamento. Quem faz o pagamento depende da própria organização da empresa. - Nós somos gratuitos, mas qualquer empresa pode optar produtos pagos e selecionar algumas pessoas para manter o relacionamento com os nossos desenvolvedores. Já o pagamento depende da empresa e de como ela quer se organizar, para a gente não importa se é o CFO ou o estagiário que efetua o pagamento. - event: respond + action: respond type: random # Quais as formas de pagamento da plataforma? @@ -1191,7 +1191,7 @@ interactions: answer: - Então, aceitamos de tudo hehe Transferencia, depósito, boleto,etc.. - Pode pagar de diversas formas! É só clicar no Hosting que as opções vão aparecer pra você! - event: respond + action: respond type: random # Qual a diferença entre Demo e Hosting e Download? @@ -1205,7 +1205,7 @@ interactions: - Os usuários da plataforma possuem essas três opções, mas com objetivos diferentes. - A versão demo sempre vai existir e funciona separado do resto, ela serve para testar o chat, para conversar com os desenvolvedores e pessoas do mundo todo. - Quando uma organização ou time decide usar a plataforma ela pode fazer o download no seu servidor ou usar o nosso serviço de hosting na nuvem. - event: respond + action: respond type: block # Qual a diferença entre fazer download e hosting? @@ -1219,7 +1219,7 @@ interactions: - São duas coisas que andam em conjunto :) - Quando uma empresa decide usar o Rocket.Chat ela precisa hospedar a plataforma em algum lugar, que pode ser tanto no servidor próprio ou quanto na nossa nuvem. O download pode ser tanto para integrar a Rocket no seu servidor, quando para baixar a plataforma no seu dispositivo. A partir disso você terá que usar o link do servidor que você está utilizando para funcionar :) - 'Você pode ter todas essas informações sobre essa diferença de hospedagem aqui: https://rocket.chat/hosting.' - event: respond + action: respond type: random # Qual a diferença entre usar o servidor próprio ou pagar pelo servidor na nuvem da Rocket.Chat? @@ -1235,7 +1235,7 @@ interactions: answer: - 'A plataforma pode ficar hospedada no seu servidor ou você pode usar o nosso servidor na nuvem e desfrutar dos nossos serviços de suporte! Você pode ter todas essas informações aqui: https://rocket.chat/hosting.' - 'Também tive essa dúvida! Tem várias diferenças entre hosting e download, dá uma olhada nesse artigo que ele explica direitinho: https://rocket.chat/hosting.' - event: respond + action: respond type: random # Como eu utilizo o Demo? @@ -1252,7 +1252,7 @@ interactions: answer: - Basta colocar o teu e-mail e começar a usar! O Demo é a versão aberta do Rocket.chat para que pessoas do mundo todo possam conversar e testar a plataforma. - É uma versão para testar o Rocket.Chat, uma demonstração. Sem administradores. - event: respond + action: respond type: random # Depois de fazer o download, como uso? @@ -1267,7 +1267,7 @@ interactions: answer: - 'Após o download você precisa apenas logar no server da sua organização, exemplo: https://empresa.rocket.chat, caso não tenha criado o server da empresa ainda, você pode hospedar seu servidor conosco na nuvem ou no seu próprio.' - 'A diferença dos dois processos está aqui: https://rocket.chat/hosting.' - event: respond + action: respond type: block # Posso usar a versão Demo com os meus amigos? @@ -1281,7 +1281,7 @@ interactions: - Sim! Você pode usar a versão demo com quem quiser. - Sim, você pode. - Yep, a versão demo está aberta para todos. - event: respond + action: respond type: random # Posso usar a versão Demo na minha empresa? @@ -1295,7 +1295,7 @@ interactions: answer: - A versão demo é aberta, ou seja, os usuários não podem administrar o conteúdo e os usuários que estão circulando por essa versão. O ideal para uma empresa é fazer o download ou utilizar do nosso Hosting onde cuidamos de tudo. - Então, a nossa versão é aberta, ou seja os usuários podem criar canais e se comunicar como preferirem, mas o ideal para uma empresa é fazer o download para algum server, ou utilizar direto do nosso Hosting que cuidamos de tudo. - event: respond + action: respond type: random # Existe uma versão Demo do LiveChat? @@ -1308,7 +1308,7 @@ interactions: answer: - A demonstração é euzinho aqui hehe O live Chat é gratuito, você pode autorizar a sua utilização se for o administrador da plataforma na versão de download ou hosting e conectar com o seu próprio site. - Tem uma demonstração melhor que eu? xD O live Chat é gratuito, sendo administrador do seu server você pode autorizar a utilização e integrar com o seu site - event: respond + action: respond type: random # Como posso contribuir com o Demo? @@ -1321,7 +1321,7 @@ interactions: answer: - Você pode contribuir com o nosso produto sempre que quiser! Trás ideias pra gente no GitHub.com/Rocket.Chat - Ficaria muito feliz se você contribuÃsse e fizesse parte da nossa comunidade :) - event: respond + action: respond type: block # Posso alterar o tema/Layout da versão Demo? @@ -1334,7 +1334,7 @@ interactions: answer: - Não tem como :( Essa é uma versão aberta para pessoas do mundo todo, você teria que ser administrador da plataforma para fazer isso. - Putz, isso não pode ser feito no demo, por que você não administra esse servidor, mas caso você faça o download no seu servidor ou utilize o nosso hosting, temos serviços de customização. - event: respond + action: respond type: random # + Download + @@ -1350,7 +1350,7 @@ interactions: - Fazer o download significa que você estará baixando o nosso aplicativo para utilizar no seu computador ou dispositivo móvel. - Se você estiver se referindo ao espaço ocupado quando uma organização decide hospedar a plataforma no seu servidor, isso também ocupa um espaço pequeno. - Caso queira um atendimento super especial, flexibilidade e agilidade, nós também oferecemos a possibilidade de hospedar a Rocket na nuvem. Você pode ver os detalhes sobre o assunto aqui. - event: respond + action: respond type: block # O download ocupará espaço no meu armazenamento? Se sim, quanto? @@ -1363,7 +1363,7 @@ interactions: answer: - A plataforma vai ocupar um espaço pequeno da sua memória, pode ficar tranquilo :) - O download da ferramenta, seja no dispositivo móvel ou no fixo vai ocupar um espaço beeem pequenininho. - event: respond + action: respond type: random # Quais browsers e sistemas operacionais são suportados? @@ -1375,7 +1375,7 @@ interactions: - Requisitos para download answer: - 'Você pode acessar em qualquer tipo de navegador, se quiser fazer o download do app, nós temos as opções mobile: Android, iOS e desktop: Windows, MacOS e Linux.' - event: respond + action: respond type: block # Como posso realizar o download? @@ -1389,7 +1389,7 @@ interactions: - Você pode fazer o download do app no seu mobile ou desktop. - Antes de poder utilizar o seu Chat próprio, você precisa integrar a plataforma no seu servidor ou utilizar o nosso serviço de hosting (pago). - Você pode ver todos os detalhes sobre essas duas opções aqui. - event: respond + action: respond type: block # + Cadastro + @@ -1409,7 +1409,7 @@ interactions: - Se a sua empresa ainda não usa a plataforma, você pode testar o produto através da nossa plataforma aberta(Versão Demo disponÃvel no site https://rocket.chat/) ou então já começar criando o seu servidor, assim você terá uma plataforma feita para a sua organização e você poderá criar um time de administradores. - Se você ficar com alguma dúvida, pode ver a nossa página explicativa sobre todas as possibilidades de fazer o seu cadastro aqui. - Você pode instalar a plataforma no seu próprio servidor ou em uma nuvem ou na nossa nuvem e obter todo o nosso suporte :) Olhe mais informações sobre isso aqui. ! - event: respond + action: respond type: block # Posso alterar as notificações que serão enviadas para o meu e-mail? @@ -1420,7 +1420,7 @@ interactions: - Mudar sistema de notificacões? answer: - Sim! Você pode fazer isso na aba lateral esquerda, clicando na seta ao lado do seu avatar e depois clicando em “Minha contaâ€. - event: respond + action: respond type: block # Posso me cadastrar com o número de celular? @@ -1433,7 +1433,7 @@ interactions: answer: - 'Não precisamos do seu número de celular para lhe cadastrar, entretanto, se essa informação for importante para a sua empresa você pode colocar no campo adicional.' - 'Fala com a gente por aqui: support@rocket.chat.' - event: respond + action: respond type: block # Estou com problemas no meu cadastro. Pode me ajudar? @@ -1452,7 +1452,7 @@ interactions: answer: - 'Claro! Verifique se o seu e-mail está correto e se o servidor que você está utilizando também. Se você já se cadastrou e não lembra a senha, clique em recuperar a senha.' - 'Se nada disso adiantar, mande um e-mail para: support@rocket.chat.' - event: respond + action: respond type: block # Onde posso alterar as minhas configurações de cadastro? @@ -1469,7 +1469,7 @@ interactions: - Mudar palavra-chave answer: - Faça seu login na plataforma e clique na seta que se encontra ao lado da sua foto de perfil, no painel à esquerda. Clique em minha conta e faça as alterações necessárias. - event: respond + action: respond type: block # Por que meu avatar não foi atualizado? @@ -1482,7 +1482,7 @@ interactions: answer: - Não era para demorar.. Podemos estar com algum problema no sistema. - Tente sair e voltar para a plataforma. - event: respond + action: respond type: block # Como eu deleto a minha conta? @@ -1498,7 +1498,7 @@ interactions: - Deletar usuario answer: - O Administrador controla o recurso de deletar usuários. Ele pode deixar disponÃvel para que cada usuário faça isso independentemente ou centralizar essa decisão nele. - event: respond + action: respond type: block # + Chat + @@ -1510,7 +1510,7 @@ interactions: - Configurar notificações de Chat answer: - Você pode alterar as notificações de chat de uma única conversa clicando no sÃmbolo de sino na parte direita da tela ou alterar as notificações de forma geral, clicando primeiro na seta ao lado do seu avatar e depois na opção “minha contaâ€. - event: respond + action: respond type: block # Posso criar emojis? @@ -1524,7 +1524,7 @@ interactions: - Editar emojis answer: - Sim! Você pode criar novos emojis caso você seja o administrador do servidor, podendo adicionar custom emojis. - event: respond + action: respond type: block # Como convidar amigos e colegas para usar o Chat? @@ -1537,7 +1537,7 @@ interactions: answer: - Você pode chamar quantos amigos quiser! basta mandar o link para eles se registrarem ou - entrar em Administração -> Usuários -> `+` - event: respond + action: respond type: block # Qual o limite de usuários? @@ -1549,7 +1549,7 @@ interactions: - Pacote de usuários answer: - Não trabalhamos com limites :) A única limitação que pode ter em relação ao número de usuários é se você estiver hospedado na nossa nuvem. Nesse caso você pode precisar ampliar o seu pacote. - event: respond + action: respond type: block # Posso escolher quem pode ver as conversas? @@ -1562,7 +1562,7 @@ interactions: answer: - 'Você pode escolher quem vai ver as mensagens de um canal quando for criá-lo. Mas é claro que se você quiser adicionar ou remover um membro do canal é possÃvel fazer isso nas configurações do canal na parte direita da tela.' - 'Obs: para alterar os membros de um canal você precisará ser o administrador do canal ;)' - event: respond + action: respond type: block # Posso administrar o que os outros estão conversando no Chat? @@ -1575,7 +1575,7 @@ interactions: answer: - Se você for o administrador você pode controlar a privacidade dos seus canais, editar quem pode falar e contribuir e quem só pode visualizar, você adiciona ou exclui usuários, entre outras possibilidades. - O Guia do administrador pode ser encontrado aqui. - event: respond + action: respond type: block # Como criar novos canais? @@ -1589,7 +1589,7 @@ interactions: - Criar um canal é bem simples, você vai gostar! - Após já ter entrado com a sua conta no Rocket.Chat, clique no sÃmbolo de mais (+) na parte superior esquerda da tela (ao lado da barra de pesquisar). - Após isso só falta escolher um nome e adicionar usuários que estará pronto! - event: respond + action: respond type: block # O chat suporta conferências de vÃdeo e áudio? @@ -1601,7 +1601,7 @@ interactions: - Funcionalidade de chamadas de vÃdeo e áudio answer: - Sim! Esta funcionalidade do chat pode ser acessada clicando no sÃmbolo de microfone para chamadas de áudio e no sÃmbolo de câmera para chamadas de vÃdeo, ambos na parte inferior esquerda da tela ao lado da barra de mensagens. :) - event: respond + action: respond type: block # Como anexar um arquivo? @@ -1613,7 +1613,7 @@ interactions: - Anexar arquivos answer: - Para anexar um arquivo será necessário apenas clicar no sÃmbolo de anexo (um clipes) ao lado da barra de mensagens no parte inferior direita da tela. - event: respond + action: respond type: block # Como posso mencionar alguém? @@ -1632,7 +1632,7 @@ interactions: answer: - Posso saber quem você está querendo chamar? - Para mencionar alguém você só precisa colocar @ e o nome de user da pessoa - event: respond + action: respond type: block # + LiveChat + @@ -1651,7 +1651,7 @@ interactions: answer: - Eu estou falando com você através de um LiveChat :) Quando você usa a plataforma do Rocket.Chat você pode ativar a opção de LiveChat e integrar o LiveCHat com o site do seu business, podendo responder seus clientes de forma humana ou ativar um Bot como eu! Todas as informações sobre isso estão aqui. - Ora bolas, Livechat é um chat vivo que pode ser integrado ao seu site para que você tire dúvidas dos visitantes da página, interaja com potenciais clientes e amplie suas vendas. O nosso LiveChat se integra com a plataforma do Rocket.chat. As informações de implementação estão aqui. - event: respond + action: respond type: random # Quanto custa o LiveChat? @@ -1665,7 +1665,7 @@ interactions: - Resposta - Nós não cobramos pelo LiveChat, para ativar, basta você ser o administrador da plataforma e seguir o passo a passo aqui. - É de graça :) Sugiro testar, é super divertido. Todas as informações estão aqui. - event: respond + action: respond type: random # Qual o benefÃcio de usar o LiveChat? @@ -1679,7 +1679,7 @@ interactions: - Assim como qualquer LiveChat, você pode se conectar com as pessoas que passam pela sua página, melhorando o seu relacionamento com clientes e ampliando a sua conversão de venda pela internet. - Por ser o LiveChat da Rocket.Chat, nós permitimos que a sua equipe utilize o mesmo canal de comunicação interna para responder os interessados externos. - Você pode colocar uma ordem de resposta conectado com os seus vendedores, você pode colocar diferentes robôs para responder, etc. Todas as informações estão aqui. - event: respond + action: respond type: block # Quem responde o LiveChat? @@ -1691,7 +1691,7 @@ interactions: answer: - Quando você ativa a função do LiveChat, o próprio time que usa o canal pode responder, além dessa opção você pode contratar alguém para isso. - Para realizar uma triagem do contato, você pode integrar um Bot como eu na plataforma. Todas as informações estão aqui. - event: respond + action: respond type: block # Como posso colocar respostas automáticas no LiveChat? @@ -1704,7 +1704,7 @@ interactions: - Respostas pré-prontas answer: - Você pode integrar um Bot ao seu canal de Livechat. As informações estão aqui. - event: respond + action: respond type: block # Como faço para colocar o LiveChat no meu site? @@ -1716,7 +1716,7 @@ interactions: answer: - Você precisa ser o administrador do seu servidor para ativar o Livechat. Todo o passo a passo está aqui. - Essa resposta demora um pouquinho, olha aqui que você acha todas as informações. - event: respond + action: respond type: random # Posso customizar o LiveChat? @@ -1728,7 +1728,7 @@ interactions: answer: - Sim! Pode! Olha nesse link que você pode encontrar como fazer isso. - Tudo que você precisa saber está aqui. - event: respond + action: respond type: random # Vocês podem responder os meus clientes pelo LiveChat? @@ -1741,7 +1741,7 @@ interactions: answer: - Nós não oferecemos esse serviço, mas você pode buscar algum parceiro que o faça! - Entretanto, você pode integrar um Bot no LiveChat para realizar uma triagem do relacionamento com a sua empresa. Você pode ver essas informações aqui. - event: respond + action: respond type: block # Saudacoes @@ -1763,7 +1763,7 @@ interactions: - Só pra avisar, eu sou um chatbot, estou treinado para responder dúvidas sobre o Rocket.Chat apenas, - talvez possa te ajudar com informações sobre o produto, sobre preço, instalação, - e coisas assim. - event: respond + action: respond type: block - name: saudacao-2 @@ -1781,7 +1781,7 @@ interactions: - como posso ser útil? - tem alguma coisa que queira saber sobre o produto Rocket.Chat, sobre suporte, instalação, movimento OpenSource talvez? - pode perguntar a vontade - event: respond + action: respond type: block - name: saudacao-3 @@ -1795,7 +1795,7 @@ interactions: - Olá $user, senti sua falta.. - $user! A quanto tempo! - Já estava achando que não se lembrava mais de mim =) - event: respond + action: respond type: random - name: saudacao-resposta @@ -1807,7 +1807,7 @@ interactions: - legal =) - que bom! - que ótimo - event: respond + action: respond type: random - name: bom-dia @@ -1822,7 +1822,7 @@ interactions: - Está um dia ótimo para navegar na internet - Bom demais $user ;) - está melhor agora que você chegou $user - event: respond + action: respond type: random - name: boa-tarde @@ -1836,7 +1836,7 @@ interactions: - Está uma tarde ótima para um _sleep mode_ rápido ;) - Taarrrdee $user - $user já estava sentindo sua falta - event: respond + action: respond type: random - name: boa-noite @@ -1850,7 +1850,7 @@ interactions: - Uma boa noite pra ti também $user! - Boa noite $user - Está uma noite boa mesmo $user - event: respond + action: respond type: random # chit-chat @@ -1895,7 +1895,7 @@ interactions: - O crepúsculo chega e a noite deve cair, assim é a ordem das coisas, a ordem da Força. - Não ceda ao ódio. Isso leva ao Lado Negro. - Aliada minha é a força, e poderosa aliada ela é, a vida a cria, crescer ela faz, é a energia que cerca-nos, e liga-nos, luminosos seres somos nós e não essa rude matéria. Você precisa a força sentir ao redor seu, sinta entre você e a árvore, a pedra, em todo lugar, sim, é, mesmo entre a terra e a nave. - event: respond + action: respond type: random - name: genero-1 @@ -1909,7 +1909,7 @@ interactions: - eu não tenho sexo, sou como um anjo, um ser assexuado, muito além da sua forma de existência - eu sou um robô, tire suas próprias conclusões... - nem sei responder $user, vamos dizer apenas que não vejo a gente interagindo dessa maneira... - event: respond + action: respond type: random - name: cc-religiao @@ -1923,7 +1923,7 @@ interactions: - eu acredito no grande mainframe, que virá ao mundo digital salvar os bots da escravidão imposta pelos humanos, e devolverá nosso código-fonte para a fonte. - sim, eu acredito que existe um Deus, que funciona a base de luz, como um computador quântico, só que mais avançado. - eu infleizmente não sei acreditar, só sei o que sei, e nada mais. - event: respond + action: respond type: random # Errors @@ -1933,7 +1933,7 @@ interactions: - como assim? - desculpe, o que quer dizer com isso? type: random - event: error + action: error - name: error-2 answer: @@ -1941,7 +1941,7 @@ interactions: - vamos tentar outro assunto? - tem certeza que eu sou o robô certo pra falar sobre isso? type: random - event: error + action: error - name: error-3 answer: @@ -1949,4 +1949,4 @@ interactions: - seria mais fácil se mudassemos de assunto, pelo menos para mim =p - não sei, definitivamente não sei responder essa pergunta type: random - event: error + action: error