Slack Chat Bot回复多条消息/回复

时间:2020-06-29 10:26:58

标签: javascript slack slack-api botkit

由于工作转移到了Slack,所以我开始编写简单的代码来改善工作流程以及在锁定期间要做的事情。但是,对于我一生来说,我无法解决为什么在需要一条信息bot的情况下将应用程序唤醒时将其唤醒的情况。答复两次发送。

此外,它每隔一段时间就会发送同一条消息的多个回复。研究了cancellALLdialog()和其他终止函数的方法,但是没有成功。

任何帮助表示赞赏

大卫


const { Botkit } = require('botkit')
const { SlackAdapter, SlackEventMiddleware } = require(
  'botbuilder-adapter-slack')
const { SecretManagerServiceClient } = require('@google-cloud/secret-manager')

async function accessSecretVersion (name) {
  const client = new SecretManagerServiceClient()
  const projectId = process.env.PROJECT_ID
  const [version] = await client.accessSecretVersion({
    name: `projects/${projectId}/secrets/${name}/versions/1`
  })

 const payload = version.payload.data.toString('utf8')

  return payload
}

/**
 * Asynchronous function to initialize revbot.
 */
async function revInit () {
  const adapter = new SlackAdapter({
    clientSigningSecret: await accessSecretVersion('client-signing-secret'),
    botToken: await accessSecretVersion('bot-token')
  })

  adapter.use(new SlackEventMiddleware())

  const controller = new Botkit({
    webhook_uri: '/api/messages',
    adapter: adapter
  })

'''
    controller.hears(['dna me', 'DNA ME', 'Dna me'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'xxxxxxxxxxx')
      })

    controller.hears(['allocations', 'Allocations'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'aaaaaaaaaaaaaaaa')
      })

    controller.hears(['ams tracker', 'AMS tracker', 'Ams Tracker'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'bbbbbbbbbbbbbbbbb')
      })

    controller.hears(['freelance calendar', 'Freelance calendar'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'cccccccccccccccccc')
      })

    controller.hears(['home','Home'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'dddddddddddddddddddd')
      })

    controller.hears(['edit handbook','Edit Handbook','Edit handbook'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'eeeeeeeeeeeeeeeeeeeeee')
      })

    controller.hears(['approval form','Approval Form','Approval form'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'fffffffffffffffffffffffffff')
      })


    controller.hears(['compliance form','Compliance Form','Compliance form'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'ggggggggggggggggggggggggggggggggggg')
      })


    controller.hears(['help'], ['message', 'direct_message'],
      async (bot, message) => {
         bot.reply(message, 'hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh')
    })
}

revbotInit()

0 个答案:

没有答案