Microsoft Bot Framework connector for Botpress (https://botpress.io/)
botpress install botfmk
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)
- 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
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)
You can listen to incoming events easily with Botpress by using the built-in "hear" function.
bp.hear({platform: 'botfmk', type: 'message'}, (event, next) => {
const text = event.text
const session = event.session
bp.botfmk.sendText(session, `You said ${text}`)
})
bp.botfmk.sendText(session, 'aMessage')
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
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'
}
]
}
})
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'
}
]
}
}
]
}
])