Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Discordに流すWebhookを見れる形で流してみる(Chalice + AWS Lamb...

Discordに流すWebhookを見れる形で流してみる(Chalice + AWS Lambda + Python)

PyCon mini Shizuoka (2021/11/20) にLTで発表した内容になります。
This is a lightning talk I gave at PyCon mini Shizuoka on November 20, 2021.

Avatar for yumechi(Motoki Hirao)

yumechi(Motoki Hirao)

November 20, 2021
Tweet

More Decks by yumechi(Motoki Hirao)

Other Decks in Technology

Transcript

  1. 自己紹介 • PyCon JPのスタッフをしていたこともあるPHPer(6月まで前職でPython 書いてました) • PyCon mini Shizuokaのスタッフとして最後の最後でジョインして少しだ けお手伝いしました

    • 業務としてPythonを書くことはなくなりましたが、手になじむので軽いも のを作るときはたまに使っています • twitter: @__yumechi, Github: yumechi
  2. 今回の目的 • Discord に backlog, Kibela の更新情報を流したい…! • 前提 ◦

    プライベートプロジェクトで作業している ◦ チケット管理Backlog, 議事録やアイディアをKibela ◦ コミュニケーションは Discord
  3. Chaliceとはなに? • Lambda と API Gateway をささっと作れる serverless framework •

    Pythonで書くことができる • 今回は使わないが、S3イベントやSNS、SQS向けにも使うことができる • ローカルでデバッグできる!!!!!!!! ◦ 動くだけのものをここに置いてみた ◦ https://github.com/yumechi/hello-world-chalice
  4. なんやかんやあって完成する • ステージ環境と本番環境を分ける作りにして、環境変数を kamidana で 入れるようにしている ◦ jinja を cli

    で使えるツール https://github.com/podhmo/kamidana ◦ 本当はもっと方法ありそうな気もする … • 表示のイメージはSlackに流れているものを見つつ、Discord Webhook の使い方ページを見ながら合わせる ◦ Slackの連動のほうが簡単なので、完成イメージがつく ◦ https://birdie0.github.io/discord-webhooks-guide/
  5. まとめ • Chalice便利です ◦ こういう小技みたいなWebHookをプロキシするものとか作るのにはちょうどよさそう • Pythonのライブラリや通信も使えるのが大きい ◦ 今回はお馴染みの requests

    を使った ◦ データの置き場とか工夫すれば、定期的に実行した結果を保存しておいたものを可視 化して分析、みたいなこともできそう ◦ そしてその手のツールが揃っている Python の得意分野なのでは?
  6. Tips: DiscordのWebhookを使った投稿 • 困ったら紹介しているリンクを見てください ◦ https://birdie0.github.io/discord-webhooks-guide/ ◦ これがマジで便利 • 中身のコンテンツは大体

    embeds に入れる形 ◦ 下の方に出ているもろもろは base["embeds"][0]["fields"] = fields みたいに入れる ◦ 構造がかなりわかりづらいので慣れないと難しい