Botframeworkを利用してSlack botを作る
更新日:2020.07.16
作成日:2018.03.10
LUISを利用したBot FrameworkからSlackへ投稿するときに困ったこと。
必要なこと
- Slackの
Interactive Messages
を有効にする必要がある
To create a full-fidelity Slack message, set the Activity object's channelData property to a JSON object that specifies Slack messages, Slack attachments, and/or Slack buttons.Note To support buttons in Slack messages, you must enable Interactive Messages when you connect your bot to the Slack channel.
試すとき
以下のURLで、Slackのメッセージフォーマットを確認できる。
channelData
プロパティに設定する。
const recognizer = new builder.LuisRecognizer(LuisModelUrl);
const intents = new builder.IntentDialog({ recognizers: [recognizer] })
.matches('Greeting', (session) => {
session.send('You reached Greeting intent, you said \'%s\'.', session.message.text);
session.send('Hello!');
})
.matches('Weather', (session) => {
request
.get('http://weather.livedoor.com/forecast/webservice/json/v1?city=130010')
.end((err, res) => {
const forecast = res.body.forecasts[0];
session.send(
{
"channelData": {
"text": `${forecast.date}は${forecast.telop}だよ`,
"attachments": [
{
"title": "今日の天気",
"image_url": forecast.image.url
}
]
}
}
);
});
});
エンティティを抽出する
Related contents
TECH
2016.02.10
slack-apiを利用してRubyからSlackへメッセージとファイルをポストする方法