Rocket.ChatからOut Going Webhookを設定してみる
2020/06/18
目次
API GatewayとLambda
とりあえず、どんなデータが飛んでくるのか見てみたかったので、API GatewayとLambdaでデータを受けてCloudWatch Logsにログを書くだけのAPIを作りました。
1 2 3 4 5 6 7 |
def lambda_handler(event, context): print(event) return { 'statusCode': 200, 'body': json.dumps('Hello from Lambda!') } |
return以降はデフォルトのまま、print(event)を足しただけです。
これをAPI GatewayでREST APIを作って、POSTに設定して、デプロイするだけです。
そうしてできたエンドポイントをRocket.Chatに設定します。
Rocket.Chat
管理メニューを選択します。
[サービス連携]で[新しいサービス連携]を押下しました。
[発信WebHook]を選択しました。
トリガーとチャンネルとURLsを設定しました。
URLsには、API Gatewayで作ったAPIエンドポイントを設定しました。
さっそく、Rocket.Chatに書いてみてログを確認してみます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
{ 'token': 'xxxxxxxxxxxxxxxxxxxxx', 'bot': False, 'channel_id': 'xxxxxxxxxxxxxxxx', 'channel_name': 'general', 'message_id': 'xxxxxxxxxxxxxxx', 'timestamp': '2020-06-16T07:11:20.251Z', 'user_id': 'xxxxxxxxxxxxxxxxxx', 'user_name': 'reply', 'text': '回答です。', 'siteUrl': 'http://http://ec2-00-00-00-00.compute-1.amazonaws.com:3000/', 'isEdited': True, 'tmid': 'xxxxxxxxxxxxx' } |
textはもちろん様々な情報が取れるようです。
tmidってなんだろうと思っていろんなパターンで試したところ、どうやら返信の際の親トピックメッセージのIDのようでした。
ということは、チャットで質疑応答したデータをそのまま、ナレッジデータベースに転送して、トピックと返信をIDで紐付けてFAQにして、次回からはBotが自然言語検索して返すみたいなことができるんじゃないかと妄想して一瞬楽しくなりました。
ん?ひょっとしてKendraかな。
最後までお読みいただきましてありがとうございました!
「AWS認定資格試験テキスト&問題集 AWS認定ソリューションアーキテクト - プロフェッショナル 改訂第2版」という本を書きました。
「AWS認定資格試験テキスト AWS認定クラウドプラクティショナー 改訂第3版」という本を書きました。
「ポケットスタディ AWS認定 デベロッパーアソシエイト [DVA-C02対応] 」という本を書きました。
「要点整理から攻略するAWS認定ソリューションアーキテクト-アソシエイト」という本を書きました。
「AWSではじめるLinux入門ガイド」という本を書きました。
開発ベンダー5年、ユーザ企業システム部門通算9年、ITインストラクター5年目でプロトタイプビルダーもやりだしたSoftware Engineerです。
質問はコメントかSNSなどからお気軽にどうぞ。
出来る限りなるべく答えます。
このブログの内容/発言の一切は個人の見解であり、所属する組織とは関係ありません。
このブログは経験したことなどの共有を目的としており、手順や結果などを保証するものではありません。
ご参考にされる際は、読者様自身のご判断にてご対応をお願いいたします。
また、勉強会やイベントのレポートは自分が気になったことをメモしたり、聞いて思ったことを書いていますので、登壇者の意見や発表内容ではありません。
ad
ad
関連記事
-
「JAWS-UG in AWS Cloud Roadshow 2017 大阪」で運営をしました
AWS Cloud Roadshow 2017 大阪のナイトイベントで、「JAW …
-
ヤマムギvol.27 Amazon Route 53プライベートホストゾーンとリゾルバーのデモをしました
今日は『AWS認定資格試験テキスト&問題集AWS認定ソリューションアーキ …
-
AWS WAF Web ACLとルールをv1(Classic)からv2に自動移行しました
新しいものは、課題が解決されていたり、機能追加されたりするのでいいものです。 長 …
-
AWS Lambda Layersのアーカイブファイルをダウンロードする
Cloud9にLambda Layersをダウンロードしたかったので検索してみた …
-
Rocket.ChatにAPIで投稿するテスト(Postman)
トレーニング期間中で一時利用するチャットが欲しいなあと思い、Rocket.Cha …
-
「re:CAP ~サーバーワークス re:Invent 2018 報告会~」でre:Invent2018について思われたことを聞かせていただいた
サーバーワークスさんのre:Invent re:CAPにおじゃましました。 re …
-
Amazon CloudWatch クロスリージョンクロスアカウントダッシュボードを作成
本ブログのCloudFrontとWAFのアカウントと、EC2、RDS、S3などオ …
-
AWS CloudShellでboto3(SDK for Python)使うならpython3
本の執筆をしていて、ちょっとAWS CLIやSDKのふるまいを確認したいことがあ …
-
AWS コスト最適化ハブを有効にしました
新しいコスト最適化ハブは、推奨アクションを一元化してコストを節約します 2023 …
-
AWS Organizationsからアカウントを新規作成してみて
AWS Organizationsでアカウントを新規作成することがありましたので …