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
RubyでSlackのbotを作ろう
Search
Masayuki Mizuno
October 03, 2024
200
0
Share
RubyでSlackのbotを作ろう
Masayuki Mizuno
October 03, 2024
More Decks by Masayuki Mizuno
See All by Masayuki Mizuno
Rails アプリの docker build を 倍速にした話
fetburner
2
160
Omotesando.rb #110
fetburner
0
190
Continuation is to be continued
fetburner
1
2.1k
callccの実装を読む
fetburner
0
220
継続オペレータの話
fetburner
0
260
Rubyでリストモナドを使う
fetburner
0
200
次世代のプロファイラVernierを試す
fetburner
0
150
数値計算とメモリ最適化
fetburner
0
280
3/14なので円周率を計算する
fetburner
0
460
Featured
See All Featured
Art, The Web, and Tiny UX
lynnandtonic
304
21k
Building Applications with DynamoDB
mza
96
7k
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.4k
Understanding Cognitive Biases in Performance Measurement
bluesmoon
32
2.9k
New Earth Scene 8
popppiees
3
2.2k
The B2B funnel & how to create a winning content strategy
katarinadahlin
PRO
1
350
The Art of Programming - Codeland 2020
erikaheidi
57
14k
VelocityConf: Rendering Performance Case Studies
addyosmani
333
25k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
250
Distributed Sagas: A Protocol for Coordinating Microservices
caitiem20
333
22k
Building a Modern Day E-commerce SEO Strategy
aleyda
45
9k
コードの90%をAIが書く世界で何が待っているのか / What awaits us in a world where 90% of the code is written by AI
rkaga
61
43k
Transcript
©2024 Wantedly, Inc. RubyͰSlackͷbotΛ࡞Ζ͏ Omotesando.rb#102 Oct 3, 2024 - Masayuki
Mizuno
©2024 Wantedly, Inc. ࣗݾհ
©2024 Wantedly, Inc. ਫխ೭ ࣗݾհ ॴଐ: ΥϯςουϦʔגࣜձࣾ ৬ۀ: όοΫΤϯυΤϯδχΞ ͖ͳݴޠ:
OCaml, Coq, NEC IXͷίϯϑΟά Twitter: @fetburner GitHub: https://github.com/fetburner
©2024 Wantedly, Inc. ࠓ͢͜ͱ
©2024 Wantedly, Inc. ࠓ͢͜ͱ Ϟνϕʔγϣϯ 3VCZʹΑΔ4MBDLCPU࣮ํ๏ͷհ w 4MBDLΞϓϦ࡞๏
w Ұํతʹ௨Λߦ͏CPUͷ࡞ w Ϣʔβʔ͔ΒͷϝοηʔδΛड͚͚ΔCPUͷ࡞
©2024 Wantedly, Inc. Ϟνϕʔγϣϯ
©2024 Wantedly, Inc. ֤छ௨Λ4MBDL্Ͱड͚औΕΔͱخ͍͠ 4MBDLͰۀͷίϛϡχέʔγϣϯΛऔ͍ͬͯΔͷͰɺಉ༷ͷՕॴͰ௨ड͚औΓ͍ͨ Ϟνϕʔγϣϯ
©2024 Wantedly, Inc. 3VCZʹΑΔ4MBDLCPUͷ࡞
©2024 Wantedly, Inc. 4MBDL্ͰCPUʹରԠ͢ΔΞϓϦͷ࡞͕ඞཁ IUUQTBQJTMBDLDPNBQQTͷ$SFBUF/FX"QQ͔Β࡞Ͱ͖Δ 4MBDLΞϓϦͷ࡞
©2024 Wantedly, Inc. ΞϓϦͷઃఆͰඞཁͳݖݶΛ༩͢Δඞཁ͕͋Δ ݖݶͷৄࡉʹ͍ͭͯIUUQTBQJTMBDLDPNTDPQFTΛࢀর ݖݶઃఆ
©2024 Wantedly, Inc. ϝοηʔδૹ৴ʹΞΫηετʔΫϯ͕ඞཁ ݸਓత༻్ͳΒΞϓϦͷઃఆը໘͔Βੜ͢Δͷ͕؆ศ ΞΫηετʔΫϯͷऔಘ
©2024 Wantedly, Inc. 0"VUIͰΞΫηετʔΫϯΛऔಘͰ͖Δ ୈࡾऀʹCPUΛ͢Δ߹0"VUI࿈ܞΛ͏ͱྑ͍ ΞΫηετʔΫϯͷऔಘ
©2024 Wantedly, Inc. Ұํతʹ௨Λߦ͏CPUͷ࡞
©2024 Wantedly, Inc. ΞΫηετʔΫϯΛ༻͍ͯదٓ"1*Λୟ͚ྑ͍ TMBDLBQJDMJFOUHFNͷόΠϯσΠϯάΛ༻͍Δͱָ Ұํతʹ௨Λߦ͏CPUͷ࡞
©2024 Wantedly, Inc. ௨Λૹ৴͢Δ͚ͩͳΒαʔόʔෆཁ CPU͔Β4MBDL"1*ͷ௨৴͔͠ൃੜ͠ͳ͍ͷͰɺ֎෦͔ΒCPUʹૄ௨Ͱ͖Δඞཁͳ͍ Ұํతʹ௨Λߦ͏CPUͷߏ chat_postMessage Bot Slackଆαʔό
©2024 Wantedly, Inc. Ϣʔβʔ͔ΒϝοηʔδΛड͚͚ΔCPUͷ࡞
©2024 Wantedly, Inc. 4MBDL&WFOUT"1* ϝοηʔδड͚औΓ࣌ʹ4MBDL͕"1*Λୟ͍ͯ͘ΕΔ 8BOUFEMZͷ4MBDLΞϓϦ͕͍ͬͯΔͷ͜Ε Πϯλʔωοτଆ͔ΒCPUͷૄ௨͕ඞཁͳͷͰɺϩʔΧϧڥͰͷ࣮ݧݫ͍͠ ϝοηʔδͷड͚औΓ HTTP POST
Bot Slackଆαʔό
©2024 Wantedly, Inc. 4PDLFU.PEF 8FC4PDLFUͷίωΫγϣϯΛ௨ͯ͡௨Λૹ৴ͯ͘͠ΕΔ #PUଆ͔Β։࢝ͨ͠ίωΫγϣϯΛҡ࣋͢ΔͷͰɺϩʔΧϧڥͰ࣮ݧՄ ϝοηʔδͷड͚औΓ WebSocket Bot Slackଆαʔό
©2024 Wantedly, Inc. TMBDLSVCZDMJFOUHFNͰͷ࣮ 4PDLFU.PEFͰͷϝοηʔδड͚औΓͷ࣮
©2024 Wantedly, Inc. ·ͱΊ
©2024 Wantedly, Inc. ·ͱΊ 3VCZʹΑΔ4MBDLCPU࣮ํ๏Λհ ެࣜ4%,͕ແͯ͘4MBDLCPU؆୯ʹ࣮Ͱ͖Δ ϝοηʔδૹ৴͚ͩͳΒαʔόʔෆཁ w
"1*Λୟ͚ͩ͘ ϩʔΧϧڥͰͷಈ࡞ʹιέοτϞʔυ͕͓קΊ w ֎෦͔Βݟ͑Δαʔό͕ແͯ͘ϝοηʔδ௨Λड͚औΕΔ