2016年03月19日

Slack Integration Blueprints for AWS Lambda

最近社内でにわかに Slack ブームが来ている。 今まで Google Hangouts を使っていたけど、Slack の方がなんだか便利そうじゃない? というぐらいの話。

Slack の方が便利そう、という根拠の一つが外部のものと連携できる機能にある。 じゃあ何かやってみよう。 AWS Lambda で、とりあえず Slack のスラッシュコマンドを追加してみる。 もちろん Python で。

やり方は基本的に 【新機能】AWS LambdaにSlack連携のBluePrintが登場。ChatOpsがより手軽に という記事を読んで slack-echo-command の代わりに slack-echo-command-python を選べば Python で書いたコマンドが追加できる。

何を書いたか、とかはおいておくことにして。

あとは、そこに書いていなかった(そして AWS Official Blog の New – Slack Integration Blueprints for AWS Lambda にも書いていなかった)細かい点をいくつか。

  1. 返すのは辞書
  2. text はひとまとめに来る

サンプルコードは文字列を返す形で書いてあるので、結果も文字列で返せばいいのかと思いきや、{"text": "foo bar"} という辞書で返す方が良い。 正しくは Slack API 文書の Slash Commands に書いてある JSON ペイロードに相当するものということになるのだろうが、 ともかく、文字列を返してしまうと、前後に引用符が付いて改行も \n と表示されてしまうので注意。

text というのはスラッシュコマンド /spam の後ろの引数として使う部分。 サンプルコードで params['text'][0] とか書いていたので空白で分割して送ってくれたりするのかと思ったが、そんなことはなかった。 必要なら自分でパースすることになる。

ラベル:Python AWS
posted by mft at 17:55| Comment(0) | TrackBack(0) | 日記 | このブログの読者になる | 更新情報をチェックする
この記事へのコメント
コメントを書く
お名前:

メールアドレス:

ホームページアドレス:

コメント:

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバック