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
分報のTLをSlackBoltFrameworkでさくっと作ってみた
Search
Sponsored
·
Ship Features Fearlessly
Turn features on and off without deploys. Used by thousands of Ruby developers.
→
75asa
February 13, 2020
Programming
1
1.7k
分報のTLをSlackBoltFrameworkでさくっと作ってみた
75asa
February 13, 2020
Tweet
Share
More Decks by 75asa
See All by 75asa
Slack tips 大全
75asa
0
200
QOLぶち上げ?VSCodeのtips大全
75asa
0
180
Other Decks in Programming
See All in Programming
AIによる高速開発をどう制御するか? ガードレール設置で開発速度と品質を両立させたチームの事例
tonkotsuboy_com
6
1.8k
登壇資料を作る時に意識していること #登壇資料_findy
konifar
3
820
Apache Iceberg V3 and migration to V3
tomtanaka
0
150
CSC307 Lecture 08
javiergs
PRO
0
660
それ、本当に安全? ファイルアップロードで見落としがちなセキュリティリスクと対策
penpeen
7
2.4k
AIによるイベントストーミング図からのコード生成 / AI-powered code generation from Event Storming diagrams
nrslib
2
1.8k
Unicodeどうしてる? PHPから見たUnicode対応と他言語での対応についてのお伺い
youkidearitai
PRO
1
1.1k
15年続くIoTサービスのSREエンジニアが挑む分散トレーシング導入
melonps
2
170
生成AIを使ったコードレビューで定性的に品質カバー
chiilog
1
230
CSC307 Lecture 05
javiergs
PRO
0
490
HTTPプロトコル正しく理解していますか? 〜かわいい猫と共に学ぼう。ฅ^•ω•^ฅ ニャ〜
hekuchan
2
680
MUSUBIXとは
nahisaho
0
130
Featured
See All Featured
エンジニアに許された特別な時間の終わり
watany
106
230k
Odyssey Design
rkendrick25
PRO
1
490
The Psychology of Web Performance [Beyond Tellerrand 2023]
tammyeverts
49
3.3k
How to Talk to Developers About Accessibility
jct
2
120
DevOps and Value Stream Thinking: Enabling flow, efficiency and business value
helenjbeal
1
89
Redefining SEO in the New Era of Traffic Generation
szymonslowik
1
210
Product Roadmaps are Hard
iamctodd
PRO
55
12k
New Earth Scene 8
popppiees
1
1.5k
Stewardship and Sustainability of Urban and Community Forests
pwiseman
0
110
Documentation Writing (for coders)
carmenintech
77
5.2k
Building Flexible Design Systems
yeseniaperezcruz
330
40k
Dealing with People You Can't Stand - Big Design 2015
cassininazir
367
27k
Transcript
Nago Asato ใͷ5- CPMUͰͭͬͯ͘ΈͨΜ͝
me גࣜձࣾλϯόϦϯ Ϋϥυɾσϕϩούʔ SalesforceͷόοΫΤϯυ։ൃʢAPEXʣ LaravelNodeɺTypeScriptͰ৭ʑͬͨΓ ΩʔϘʔυྻUSʢHHKBʣ ͦͯ͠ΏΔ;ΘVimmer
ใ ͬͯ·͔͢ʁ
ใͱ suin͞Μ, Μ͘͠͞Μ ᐌ͘ ใ a.k.a.ʮtimes_*, r_*,ʯ ͱɺࣾνϟοτͰࣗͷνϟ ϯωϧΛ࣋ͪɺ͍εύϯͰൃݴ ͢ΔࣾTwitterͷΑ͏ͳจԽܗଶ
ϝϦοτ ɾ৺ཧతͳؾܰ͞ ɾٕज़తͳϨϕϧ͕ࠩߟྀ͞Ε͍͢ ɾҰճͷใʹൺֱ͢Ε୯ҐͰࠁΊΔϦΞϧλΠϜੑ ɾ҉ΛಘΔ͖͔͚ͬʹͳΓ͍͢ ɾίϛϡχέʔγϣϯɾΤϯήʔδϝϯτ
σϝϦοτ ɾҪށձٞ ɾਓʹରͯ͠εέʔϧ͠ͳ͍ ɾঝೝཉٻΛܹ͢Δ
ͱ͍͏͜ͱ
TL࡞Εղܾ͢ΔͷͰ
ͱ͍͏Θ͚Ͱ࡞ͬͯΈͨ
։ൃڥ • Node JS 11x • Slack Bolt Framework •
PaaSHeroku
Bolt ⚡ͱ • Bolt Slack API Λ͍͘͢͢ΔͨΊͷ Node.js ϑ
ϨʔϜϫʔΫͰ͢ɻ Ұ͔Β API ΛͬͯΞϓϦΛ։ൃͯ͠ ͍͘͜ͱͱൺΔͱɺ͜ͷϑϨʔϜϫʔΫΛ͏ͱͬͱ αΫͬͱ࡞͍ͬͯ͘͜ͱ͕Ͱ͖Δͱࢥ͍·͢ɻ @girlie_mac ͞ΜͷQiitaهࣄΑΓҾ༻
slackAppͭ͘Δ
TMBDLBQJαΠτ ΞϓϦ࡞Δ࣌ IUUQTBQJTMBDLDPNBQQT #PMUͷνϡʔτϦΞϧ IUUQTTMBDLEFWCPMUKBKQUVUPSJBMHFUUJOH TUBSUFE
ϩʔΧϧ։ൃ
• yarn͔npmͰ @slack/bolt ೖΕΔ • ϩʔΧϧ։ൃ ngrokΛ͏ • slackAppͷϦΫΤετURLʹngrokͷͭΛ࿈ܞ
࣮ࡍͷίʔυ
channelsͷܕ
infoͷܕ
͕͍͍͜͜Α bolt͞Μ • Slack api ͕RequestURLPayload͝ʹΐ͝ʹΐ͠ͳͯ͘ ؆୯ʹ͑Δʂ • api ͷܕใ͕ḷΕΘ͔ΔʢৄࡉυΩϡϝϯτͰʣ
• ϩʔΧϧ։ൃ͕݁ߏ͔ͲΔ
attachment ? block ? • Slack apiͷattachmentʹΘΔͭ • attachmentͷෳࡶͳ༷Λγϯϓϧʹͨ͠ͷ •
attachmentΑΓRichͳΠϯλʔϑΣʔεΛ࣮Ͱ͖Δ • Block kit builder (GUI) ͰI/FΛ֬ೝ͠ͳ͕ΒJSON֬ೝ
Block kit Builder
ؾʹͳΔͱ͜ • Slack ެࣜAPIͱผʹbolt clientͰAPI͏ࡍʹdocཉ͍͠ • Block kit ͰͰ͖Δ͜ͱͱattachmentͰͰ͖Δ͜ͱ͕͔Γ ͮΒ͍
Ͱ͖ͨͷ
·ͱΊ ɾ#PMUָ͍͠ ɾ#MPDL,JU͍͍Ͷ ɾϩʔΧϧ։ൃָ͕ ɾίʔϙϨʔτΤϯδχΞϦϯάָ͍͠ ɾ5-ͷݟա͗ېɺϑϧεϥοΫΤϯδχΞͳͬͯ·͏
Links UJNFMJOFSฐࣾͰೖΕͯΔ4MBDL"QQ IUUQTHJUIVCDPNOBTBUUJNFMJOFS TMBDLCPMUGSBNFXPSL IUUQTHJUIVCDPNTMBDLBQJCPMU TMBDLCMPDLLJUνϡʔτϦΞϧ IUUQTBQJTMBDLDPNMBOHKBKQTMBTICMPDLLJU TVJO͞Μͷใͱ IUUQDFDPN Μ͘͠͞Μͷใͷޮೳ·ͱΊ
IUUQTOPUFDPNWBBBBBORVJTIOODDDGF
͋Γ͕ͱ͏͍͟͝·ͨ͠