Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
分報のTLをSlackBoltFrameworkでさくっと作ってみた
75asa
February 13, 2020
Programming
1
1.5k
分報のTLをSlackBoltFrameworkでさくっと作ってみた
75asa
February 13, 2020
Tweet
Share
More Decks by 75asa
See All by 75asa
Slack tips 大全
75asa
0
120
QOLぶち上げ?VSCodeのtips大全
75asa
0
110
Other Decks in Programming
See All in Programming
僕が便利だと感じる Snow Monkey の特徴/20220723_Gifu_WordPress_Meetup
oleindesign
0
100
FullStack eXchange, July 2022
brucel
0
190
2022年のモダンCSS改
tonkotsuboy_com
24
16k
Edge Side Frontend という新領域
mizchi
21
10k
OSS貢献を気軽にしたい Let's Go Talk #1
yuyaabo
2
230
Efficient UI testing in Android
alexzhukovich
1
120
CakePHPの内部実装 から理解するPSR-7
boro1234
0
340
閱讀原始碼 - 再戰十年的 jQuery
eddie
1
280
ESM移行は無理だけどおれもSindreのライブラリが使いたい!
sosukesuzuki
2
520
RustのWebフレームワーク周りの概観
hayao
0
170
設計の考え方とやり方
masuda220
PRO
45
25k
Atomic Design とテストの○○な話
takfjp
2
790
Featured
See All Featured
ParisWeb 2013: Learning to Love: Crash Course in Emotional UX Design
dotmariusz
100
5.9k
Side Projects
sachag
450
37k
Infographics Made Easy
chrislema
233
17k
Principles of Awesome APIs and How to Build Them.
keavy
113
15k
Why Our Code Smells
bkeepers
PRO
324
55k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
14
3.8k
Testing 201, or: Great Expectations
jmmastey
21
5.5k
No one is an island. Learnings from fostering a developers community.
thoeni
9
1.3k
Design by the Numbers
sachag
271
17k
Creatively Recalculating Your Daily Design Routine
revolveconf
207
10k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
655
120k
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
͋Γ͕ͱ͏͍͟͝·ͨ͠