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
150
QOLぶち上げ?VSCodeのtips大全
75asa
0
140
Other Decks in Programming
See All in Programming
PHPの次期バージョンはこの時期どうなっているのか - Internalsの開発体制について - PHPカンファレンス小田原
youkidearitai
PRO
1
190
Apache Hive 4 on Treasure Data
ryukobayashi
0
100
OpenAPIを中心に考えるAPI開発入門 / Introduction to API Development with a Focus on OpenAPI
seike460
PRO
2
170
try! Swift Tokyo 2024 参加報告 / try! Swift Tokyo 2024 Report
hironytic
0
200
Prepare for Jakarta EE 11 - Performance and Developer Productivity
ivargrimstad
0
730
HUIT新歓2024「競技プログラミング、やってみませんか?」
slephy2784
1
270
Random\Randomizer クラスで日常のあれこれを解決しよう! / Random\Randomizer class solves familiar trouble
cocoeyes02
0
220
Blue/Greenデプロイの導入による 運用フローの改善
kudoas
1
370
PHP8.3の機能を振り返る / Review of PHP 8.3 features
seike460
PRO
1
110
0→1と1→10の狭間で Javaという技術選定を振り返る/Reflecting on the Decision to Choose Java Between Scaling from 0 to 1 and 1 to 10
jaguar_imo
2
380
雑に思考を整理する技術と効能
konifar
58
29k
見た目から始める生産性向上
ikumatadokoro
7
830
Featured
See All Featured
Cheating the UX When There Is Nothing More to Optimize - PixelPioneers
stephaniewalter
274
13k
Six Lessons from altMBA
skipperchong
21
3k
How to Ace a Technical Interview
jacobian
272
22k
A Modern Web Designer's Workflow
chriscoyier
689
190k
I Don’t Have Time: Getting Over the Fear to Launch Your Podcast
jcasabona
21
1.6k
Code Review Best Practice
trishagee
55
15k
Producing Creativity
orderedlist
PRO
337
39k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
352
28k
Optimizing for Happiness
mojombo
370
69k
Build your cross-platform service in a week with App Engine
jlugia
225
17k
Making Projects Easy
brettharned
108
5.5k
Into the Great Unknown - MozCon
thekraken
10
990
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
͋Γ͕ͱ͏͍͟͝·ͨ͠