Как заставить бот диалогового потока выполнять слабое событие, такое как переименование канала - PullRequest
1 голос

Я пытаюсь создать чат-бота для слабины, используя диалог.Я пытаюсь создать чат-бота, который выполняет слабые события для пользователей, такие как переименование канала и архивирование канала.Когда пользователь хочет переименовать канал, он может просто сказать этому каналу бота, который он хочет переименовать, и новое имя канала, и бот выполняет для него.Я не могу добавить или кодировать эти события в мой бот.

'use strict';
const functions = require('firebase-functions');
const {WebhookClient} = require('dialogflow-fulfillment');
const {Card, Suggestion} = require('dialogflow-fulfillment');
process.env.DEBUG = 'dialogflow:debug';
exports.dialogflowFirebaseFulfillment = functions.https.onRequest((request,response) => {
  const agent = new WebhookClient({ request, response });
  //const agentPath =  agent.entitiesClient.projectAgentPath("master-bot-53dee");
  console.log('Dialogflow Request headers: ' + JSON.stringify(request.headers));
  console.log('Dialogflow Request body: ' + JSON.stringify(request.body));

  function welcome(agent) {
    agent.add(`Welcome to my agent!`);
  }

  function fallback(agent) { }

  function slack_rename(agent) {
    const query = agent.query;
    let channel = agent.parameters.channel;
    let rename = agent.parameters.rename;
    let rname = agent.parameters.any;
    let a = query.split(" ");
    let i = 0;
    agent.add(`changing the name of the channel ${channel} to ${rname}`);
  }

  function slack_archive(agent){
    let channel = agent.parameters.channel;
    let archive = agent.parameters.archive;
    agent.add(`so you want to ${archive} ${channel}`);
  }

  function slack_private(agent) {
    let priv = agent.parameters.private;
    let pub = agent.parameters.public;
    let channel = agent.parameters.channel;
    agent.add(`so you want to convert ${channel} from ${pub} to ${priv}`);
  }

  let intentMap = new Map();
  intentMap.set('Default Welcome Intent', welcome);
  intentMap.set('Default Fallback Intent', fallback);
  intentMap.set('slack-rename', slack_rename);
  intentMap.set('slack-archive', slack_archive);
  intentMap.set('slack_private', slack_private);
  agent.handleRequest(intentMap);
});
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...