Slack,Teams,LINE
botの作り方の違いとか
#kumonokai
トレノケ雲の会
mod.3
2018/12/17
#kumonokai
山下 光洋
自己紹介
山下光洋
@yamamanx
Blog : www.yamamanx.com
・ソフトウェア開発会社でIBMさんのBP
・ナイトレジャー会社,エネルギー会社で情シス
・AAI(AWS認定インストラクター)、
IT Terchnical Training Engineer@Trainocate
ヤマムギ(勉強会) , JAWS-UG,
JAWS-UG IoT関西支部, kintone Cafe大阪,
JP_Stripes, MasterCloud
The八番街ベース
緑のLv16 LvLv39
bot
大きく分けると
Incoming Webhooks
Outgoing Webhooks
#kumonokai
Incoming
Incoming Webhooks
#kumonokai
・プログラムからの通知(完了、異常発生)
・Feed情報
・パブリックなSNSの情報
・他システムからの連携
Incoming
Incoming Webhooks
#kumonokai
プログラムからの
通知(完了、異常発生)
Incoming
Incoming Webhooks
#kumonokai
Feed情報
Incoming
Incoming Webhooks
#kumonokai
パブリックなSNSの情報
Incoming
Incoming Webhooks
#kumonokai
他システムからの連携
Incoming
Incoming Webhooks
#kumonokai
Outgoing
Outgoing Webhooks
#kumonokai
・投稿をトリガーとしてイベント起動
・bot を呼び出す
・コマンド実行
Outgoing
Outgoing Webhooks
#kumonokai
・bot を呼び出す
Outgoing
Outgoing Webhooks
#kumonokai
・bot
・とれのCAT
Outgoing
Outgoing Webhooks
#kumonokai
Outgoing
Outgoing Webhooks
#kumonokai
リクエストの違い #kumonokai
Teams
user_name = event['from']['name']
text = event['text']
Slack (API Gatewayマッピングテンプレートで変換)
user_name = event['user_name']
text = event['text']
LINE
from_id = event['events'][0]['source']['userId']
text = event['events'][0]['message']['text']
reply_token = event['events'][0]['replyToken']
レスポンスの違い #kumonokai
Response
{
'type': 'message',
'text': msg
}
Teams
Requests
user_name = event['from']['name']
text = event['text']
レスポンスの違い #kumonokai
Response
{
'text': msg
}
Slack
Requests (API Gatewayマッピングテンプレートで変換)
user_name = event['user_name']
text = event['text']
レスポンスの違い #kumonokai
POST (https://api.line.me/v2/bot/message/reply)
{
"replyToken": reply_token,
"messages": msg
}
LINE
Requests (API Gatewayマッピングテンプレートで変換)
from_id = event['events'][0]['source']['userId']
text = event['events'][0]['message']['text']
reply_token = event['events'][0]['replyToken']
コアな処理は同じ #kumonokai
AWS Lambda Layers
・共通ロジックを各Lambda関数から呼び出す
・一つ一つのLambdaに含む必要がなくなった
今日はまったこと #kumonokai
TeamsのOutgoing Webhooksは5秒以内にレスポン
スを返さないとエラーになる。
Sorry, there was a problem encountered with your
request
まとめ
・リクエストとレスポンスが違うぐらいなので、
だいたいどこでもbotとして動かせるかと。
・コアの処理はAWS Lambda Layers。
・とれのCATをよろしくお願いします。
#kumonokai
ご清聴ありがとうございました。
Special Thanx to…..

Slack,Teams,LINE botの作り方の違いとか