# botpress-botfmk2

> Microsoft Bot Framework connector for botpress

Latest version **0.0.4** (published 2017-11-19) · AGPL-3.0 license · 0 weekly downloads

> **Deprecated.** This package is deprecated.

## Install

```sh
npm install botpress-botfmk2
pnpm add botpress-botfmk2
yarn add botpress-botfmk2
bun add botpress-botfmk2
```

## Health

**Score 10/100 (F)** — status: deprecated.

Negative: deprecated.

## Facts

| | |
|---|---|
| Version | 0.0.4 |
| Published | 2017-11-19 |
| First published | 2017-11-18 |
| Weekly downloads | 0 |
| License | AGPL-3.0 |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 2 |
| Known vulnerabilities | 0 |
| Install scripts | no |
| Author | hmphu |
| Maintainers | hmphu |

## Links

- npm: https://www.npmjs.com/package/botpress-botfmk2
- Repository: https://github.com/hmphu/botpress-botfmk2
- Homepage: https://github.com/hmphu/botpress-botfmk2#readme
- Issues: https://github.com/hmphu/botpress-botfmk2/issues
- npm.io page: https://npm.io/package/botpress-botfmk2

## Dependencies (2)

- [express](https://npm.io/package/express.md) ^4.15.2
- [botbuilder](https://npm.io/package/botbuilder.md) ^3.7.0

## Recent versions

- 0.0.4 (latest) — 2017-11-19
- 0.0.3 — 2017-11-19
- 0.0.2 — 2017-11-18

## README

# Microsoft Bot Framework connector for Botpress (https://botpress.io/)

## Installation

```
botpress install botfmk
```

## Get started

#### 1. Sign in on Bot Framework (https://dev.botframework.com/)

#### 2. Create a bot (https://docs.botframework.com/en-us/csharp/builder/sdkreference/gettingstarted.html#registering)

#### 3. Set the env vars

- Set the bot application ID in env var BOTFMK_APP_ID 
- Set the bot password in env var BOTFMK_APP_PASSWORD
- Choose a port for the webhook and set it to env var BOTFMK_WEBHOOK_PORT

#### 4. Deploy your bot

Or use ngrok (https://github.com/bubenshchykov/ngrok) to expose your local bot to the world

#### 5. Set the webhook url in Bot Framework config (https://docs.botframework.com/en-us/csharp/builder/sdkreference/gettingstarted.html#registering)


## Usage

### Incoming

You can listen to incoming events easily with Botpress by using the built-in "hear" function.
```js
bp.hear({platform: 'botfmk', type: 'message'}, (event, next) => {
    const text = event.text
    const session = event.session

    bp.botfmk.sendText(session, `You said ${text}`)
})
```

### Outgoing

#### Text messages
```js
bp.botfmk.sendText(session, 'aMessage')
```

#### Attachments

You can use the Bot Framework attachment API described here: https://docs.botframework.com/en-us/csharp/builder/sdkreference/attachments.html

You can see how it is rendered on different platforms here: https://docs.botframework.com/en-us/channel-inspector/channels/Facebook 

```js
bp.botfmk.sendText(session, {
    'contentType': 'application/vnd.microsoft.card.hero',
    'content': {
      'title': 'Who is it?',
      'subtitle': 'Guess who is on the picture',
      "images": [
        {
          "url": "https://upload.wikimedia.org/wikipedia/en/a/a6/Bender_Rodriguez.png"
        }
      ],
      'buttons': [
        {
            'type': 'postBack',
            'title': 'Bender Rodriguez',
            'value': 'insert_your_postback'
        },
        {
            'type': 'postBack',
            'title': 'R2D2',
            'value': 'insert_your_postback'
        }
      ]
    }
  })
```

#### Multiple messages
```js
bp.botfmk.sendText(session,[
  'Who is it?',
  {
    "contentType": "image/png",
    "contentUrl": "https://upload.wikimedia.org/wikipedia/en/a/a6/Bender_Rodriguez.png"
    "name":"Bender_Rodriguez.png"
  },
  {
    'attachments': [
      {
        'contentType': 'application/vnd.microsoft.card.hero',
        'content': {
          'buttons': [
            {
              'type': 'postBack',
              'title': 'Bender Rodriguez',
              'value': 'insert_your_postback'
            },
            {
              'type': 'postBack',
              'title': 'R2D2',
              'value': 'insert_your_postback'
            }
          ]
        }
      }
    ]
  }
])
```

---
_Source: https://npm.io/package/botpress-botfmk2 · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
