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
75asa
February 13, 2020
Programming
1
1.6k
分報のTLをSlackBoltFrameworkでさくっと作ってみた
75asa
February 13, 2020
Tweet
Share
More Decks by 75asa
See All by 75asa
Slack tips 大全
75asa
0
170
QOLぶち上げ?VSCodeのtips大全
75asa
0
170
Other Decks in Programming
See All in Programming
イベントストーミング図からコードへの変換手順 / Procedure for Converting Event Storming Diagrams to Code
nrslib
1
400
Deep Dive into ~/.claude/projects
hiragram
8
1.5k
Haskell でアルゴリズムを抽象化する / 関数型言語で競技プログラミング
naoya
17
4.9k
来たるべき 8.0 に備えて React 19 新機能と React Router 固有機能の取捨選択とすり合わせを考える
oukayuka
2
860
童醫院敏捷轉型的實踐經驗
cclai999
0
190
生成AIコーディングとの向き合い方、AIと共創するという考え方 / How to deal with generative AI coding and the concept of co-creating with AI
seike460
PRO
1
330
Enterprise Web App. Development (2): Version Control Tool Training Ver. 5.1
knakagawa
1
120
Kotlin エンジニアへ送る:Swift 案件に参加させられる日に備えて~似てるけど色々違う Swift の仕様 / from Kotlin to Swift
lovee
1
260
AIプログラマーDevinは PHPerの夢を見るか?
shinyasaita
1
120
LINEヤフー データグループ紹介
lycorp_recruit_jp
0
890
都市をデータで見るってこういうこと PLATEAU属性情報入門
nokonoko1203
1
570
すべてのコンテキストを、 ユーザー価値に変える
applism118
2
800
Featured
See All Featured
Building Better People: How to give real-time feedback that sticks.
wjessup
367
19k
Designing Experiences People Love
moore
142
24k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
130
19k
Designing for Performance
lara
609
69k
Mobile First: as difficult as doing things right
swwweet
223
9.7k
Practical Orchestrator
shlominoach
188
11k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
124
52k
GraphQLとの向き合い方2022年版
quramy
48
14k
Performance Is Good for Brains [We Love Speed 2024]
tammyeverts
10
930
Agile that works and the tools we love
rasmusluckow
329
21k
Being A Developer After 40
akosma
90
590k
Making the Leap to Tech Lead
cromwellryan
134
9.3k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠