How to use botbuilder-adapter-slack - 3 common examples

To help you get started, we’ve selected a few botbuilder-adapter-slack examples, based on popular ways it is used in public projects.

Secure your code as it's written. Use Snyk Code to scan source code in minutes - no build needed - and fix issues immediately.

github watson-developer-cloud / botkit-middleware / examples / simple-bot / simple-bot-slack.js View on Github external
const { Botkit } = require('botkit');
const { MemoryStorage } = require('botbuilder');
const { SlackAdapter } = require('botbuilder-adapter-slack');

const express = require('express');
const WatsonMiddleware = require('botkit-middleware-watson').WatsonMiddleware;

const middleware = new WatsonMiddleware({
  iam_apikey: process.env.ASSISTANT_IAM_APIKEY,
  workspace_id: process.env.WORKSPACE_ID,
  url: process.env.ASSISTANT_URL || 'https://gateway.watsonplatform.net/assistant/api',
  version: '2018-07-10'
});

// Configure your bot.
const adapter = new SlackAdapter({
  clientSigningSecret: process.env.SLACK_CLIENT_SIGNING_SECRET,
  botToken: process.env.SLACK_TOKEN,
});
const controller = new Botkit({
    adapter,
    storage: new MemoryStorage(),
    // ...other options
});


controller.hears(['.*'], ['direct_message', 'direct_mention', 'mention'], async (bot, message) => {
  console.log('Slack message received');
  await middleware.interpret(bot, message);
  if (message.watsonError) {
    console.log(message.watsonError);
    await bot.reply(message, message.watsonError.description || message.watsonError.error);
github howdyai / botkit / packages / testbot / features / slack_features.js View on Github external
controller.on('interactive_message', async (bot, message) => {

            console.log('INTERACTIVE MESSAGE', message);

            switch(message.actions[0].name) {
                case 'replace':
                    await bot.replyInteractive(message,'[ A previous message was successfully replaced with this less exciting one. ]');
                    break;
                case 'dialog':
                    await bot.replyWithDialog(message, new SlackDialog('this is a dialog', '123', 'Submit', [
                        {
                            type: 'text',
                            label: 'Field 1',
                            name: 'field1',
                        },
                        {
                            type: 'text',
                            label: 'Field 2',
                            name: 'field2',
                        }
                    ]).notifyOnCancel(true).state('foo').asObject());
                    break;
                default:
                    await bot.reply(message, 'Got a button click!');
            }
        });
github howdyai / botkit / packages / generator-botkit / generators / slack / templates / features / slack_features.js View on Github external
controller.on('interactive_message', async (bot, message) => {

        console.log('INTERACTIVE MESSAGE', message);

        switch(message.actions[0].name) {
            case 'replace':
                await bot.replyInteractive(message,'[ A previous message was successfully replaced with this less exciting one. ]');
                break;
            case 'dialog':
                await bot.replyWithDialog(message, new SlackDialog('this is a dialog', '123', 'Submit', [
                    {
                        type: 'text',
                        label: 'Field 1',
                        name: 'field1',
                    },
                    {
                        type: 'text',
                        label: 'Field 2',
                        name: 'field2',
                    }
                ]).notifyOnCancel(true).state('foo').asObject());
                break;
            default:
                await bot.reply(message, 'Got a button click!');
        }
    });

botbuilder-adapter-slack

Connect Botkit or BotBuilder to Slack

MIT
Latest version published 2 years ago

Package Health Score

56 / 100
Full package analysis