by shigemk2

当面は技術的なことしか書かない

LambdaとAPI GatewayとSlack

ただのメモです、走り書きです。何も期待しないでください。

  • Lambda→Web上で簡単なプログラムを作る
  • API Gateway→WebAPIを自作出来る
  • Slack→チャットツール

Slackのoutgoing webhookとAPI Gateway+Lambdaを組み合わせて、「ホノカチャン」とつぶやいたら南ことりちゃんの画像が返ってくるBOTを作るだとか、incoming webhookとAPI Gateway+Lambdaを組み合わせて、毎朝10時に「今日も一日がんばるぞい」画像を出したりなど出来る。なお、Lambdaで書ける言語はJava/Python/Node.jsのいずれかから選べる。

dev.classmethod.jp

qiita.com

blog.manabusakai.com

dev.classmethod.jp

ホノカチャンBOTのほうは、正直プログラムの可読性とかはあんまり考えていない。手動にしたのは、ボットの性質上画像が問題ないことを手動で確認しておかないと画像関係で事故が起きるから。無用な騒乱は避けたい。なお、?とタイムスタンプをくっつけているのは、何度も同じ画像URLを投稿すると画像が展開されないっぽいから。あと南こうせつとグラハムボネットの画像も入れてる。

exports.handler = function(event, context) {
    var text = [
        "画像URLを並べて"
      ];
  context.done(null, {text: text[Math.floor( Math.random() * text.length )] + "?" + new Date().getTime()});
};

ぞいBOTのほうは、QiitaのやつからGoogleで画像を引っ張ってくる実装を取り除いたものをそのまま使っているのでココでは載せない。