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.

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 みたいに入れる ◦ 構造がかなりわかりづらいので慣れないと難しい