Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
なるべく自動化頑張ったLINE BOT on AWS
Search
pep299
June 24, 2022
Technology
0
87
なるべく自動化頑張ったLINE BOT on AWS
pep299
June 24, 2022
Tweet
Share
More Decks by pep299
See All by pep299
シークレットを漏らしてしまった話 / secret-key-exposed
pep299
0
62
Playwright for PythonではじめるE2Eテスト / Lets start e2e-test with playwright for python
pep299
0
1.1k
プレイングマネージャーの葛藤 / The Conflict of a Playing Manager
pep299
1
3.2k
will・canマトリクスで自己分析してみた / Self-analysis with will-can matrix
pep299
0
530
そうだ Firebase Remote Config、使おう / let use Firebase Remote Config
pep299
0
93
Other Decks in Technology
See All in Technology
Data Hubグループ 紹介資料
sansan33
PRO
0
2.3k
新しい風。SolidFlutterで実現するシンプルな状態管理
zozotech
PRO
0
140
Master Dataグループ紹介資料
sansan33
PRO
1
4k
持続可能なアクセシビリティ開発
azukiazusa1
6
340
メッセージ駆動が可能にする結合の最適化
j5ik2o
9
1.6k
Eight Engineering Unit 紹介資料
sansan33
PRO
0
5.6k
DDD x Microservice Architecture : Findy Architecture Conf 2025
syobochim
13
5.6k
名刺メーカーDevグループ 紹介資料
sansan33
PRO
0
960
生成AIシステムとAIエージェントに関する性能や安全性の評価
shibuiwilliam
1
200
GitHub を組織的に使いこなすために ソニーが実践した全社展開のプラクティス
sony
0
180
その意思決定、まだ続けるんですか? ~痛みを超えて未来を作る、AI時代の撤退とピボットの技術~
applism118
42
24k
TypeScript×CASLでつくるSaaSの認可 / Authz with CASL
saka2jp
2
140
Featured
See All Featured
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
34
2.5k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
249
1.3M
Designing for Performance
lara
610
69k
How to Think Like a Performance Engineer
csswizardry
28
2.3k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Raft: Consensus for Rubyists
vanstee
140
7.2k
Leading Effective Engineering Teams in the AI Era
addyosmani
8
1.2k
The World Runs on Bad Software
bkeepers
PRO
72
12k
How Fast Is Fast Enough? [PerfNow 2025]
tammyeverts
3
350
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.2k
Reflections from 52 weeks, 52 projects
jeffersonlam
355
21k
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1k
Transcript
「なるべく自動化頑張ったLINE BOT on AWS」 ぺぺ@Pep299 1
目次 自己紹介 開発の動機 システムフロー アーキテクチャ 開発・デプロイフロー docs周り 言語・ライブラリ まとめ 2
自己紹介 ぺぺ@Pep299 https://twitter.com/Pep299 情報系学士卒 エンジニア歴7年目 SES(金融系)-> フリーランス -> Web系受託 ->
Web系自社サ Open Source Conference 2021 Kyoto 登壇 東京都 新型コロナウイルス感染症対策サイトのコントリビュート ゲーム(Dead By Daylight、Among Us、ボードゲーム)・ブレイクダンス 3
開発の動機 あるアカウントのTweetを取捨選択して LINEグループに通知したい ノイズをフィルタして有益情報のみ通知 コミュニケーションの発端 Tweetの傾向に合わせてフィルタをちょこちょこ調整したい フィルタ調整以外は自動化したい、デプロイとか CI/CDとかIaC(Infrastructure as Code)周りのキャッチアップ
4
システムフロー 5
アーキテクチャ メール通知 Amazon SNS 定時起動 Amazon EventBridge LINE Group/TalkRoom id
の追加・削除 ログ出⼒ LINE Group/TalkRoom id の取得 メッセージ送信 ツイートの取得 Lambda Amazon S3 エラー通知 Amazon CloudWatch ログ出⼒ Lambda webhook 送信 6
開発・デプロイフロー Renovate Developer GitHub Actions GitHub AWS STS AWS CDK
Amazon S3 AWS CFn AWS System Manager 7
docs周り システムフロー: mermaid.js 8
docs周り アーキテクチャ図: drawio 9
言語・ライブラリ - BOT IaC 言語 Python TypeScript パッケージ管理 poetry npm
静的解析 flake8, mypy black, isort eslint prettier テストランナー pytest jest タスクランナー makefile npm-script 自動テスト LINE, Twitterリクエストはモック AWSリクエストはmotoでモック snapshotテスト 10
まとめ 狙い通りコミュニケーション増えた ちょっとした修正が楽にできる 正直オーバーエンジニアリング Zapier + LINE notify + Twitterとかノーコードで多分できる
11
リンク Repository: https://github.com/pep299/dbd_line_bot 図の修正PR例: https://github.com/pep299/dbd_line_bot/pull/61/files テストコード: https://github.com/pep299/dbd_line_bot/tree/main/app/tests 12