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
Golang_chromedp_slack_botでslackの絵文字自動生成ボットをつく...
Search
Sponsored
·
Your Podcast. Everywhere. Effortlessly.
Share. Educate. Inspire. Entertain. You do you. We'll handle the rest.
→
bmf_san
August 12, 2020
Programming
120
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Golang_chromedp_slack_botでslackの絵文字自動生成ボットをつくってみた.pdf
bmf_san
August 12, 2020
More Decks by bmf_san
See All by bmf_san
桃太郎で始めるRego入門‐今日から使えるRegoの基本編
bmf_san
0
74
完璧を求めない意思決定-アクセス制御基盤における制約との向き合い方
bmf_san
5
20k
AAPについて調べてみた
bmf_san
0
140
レーダーをつくる
bmf_san
0
85
契約テストとPactについて
bmf_san
0
130
5分でわかるSLO
bmf_san
2
180
権限について考える
bmf_san
2
170
自作HTTPルーターから新しいServeMuxへ
bmf_san
3
1.8k
古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略
bmf_san
1
520
Other Decks in Programming
See All in Programming
AI Engineeringは、AIプロダクトだけのものか? 〜AIがソフトウェアを作る時代の新しい当たり前〜 / No AI in your product. AI Engineering in your development.
rkaga
4
360
Apache Hive: そしてCloud Native Lakehouseへ
okumin
1
200
OpenSpecのproposalにbrainstormingを持たせてみた
tigertora7571
1
200
複数の Claude Code が"放置"されてしまう問題をCLI ダッシュボードを自作して解決した話
sumihiro3
1
650
使用 Meilisearch 建立新聞搜尋工具
johnroyer
0
220
Detecting Compromised CI with eBPF and Cilium Tetragon
lizrice
0
130
アルゴリズムは何を圧縮しているのか ─ Haskell から育った「圧縮代数」というメンタルモデル
naoya
16
3.8k
【やさしく解説 設計編・中級 #1】一つの車に、運転手は一人 ~ある倉庫システムの事例から~
panda728
PRO
0
200
仕様駆動開発の消費期限
watany
7
2.2k
VibeCodingからAgenticWorkflowへ
starfish719
0
210
20260722_microCMSで考える、AI時代のコンテンツ運用設計
yosh1
0
340
ソフトウェア設計に溶けるインフラ ― AWS CDK のインフラ認識論
konokenj
3
750
Featured
See All Featured
Refactoring Trust on Your Teams (GOTO; Chicago 2020)
rmw
35
3.7k
Applied NLP in the Age of Generative AI
inesmontani
PRO
4
2.4k
Designing Dashboards & Data Visualisations in Web Apps
destraynor
232
55k
Fireside Chat
paigeccino
42
4k
The Invisible Side of Design
smashingmag
301
52k
Noah Learner - AI + Me: how we built a GSC Bulk Export data pipeline
techseoconnect
PRO
0
350
Leveraging Curiosity to Care for An Aging Population
cassininazir
1
460
Evolving SEO for Evolving Search Engines
ryanjones
0
250
Joys of Absence: A Defence of Solitary Play
codingconduct
1
420
Conquering PDFs: document understanding beyond plain text
inesmontani
PRO
4
2.9k
Deep Space Network (abreviated)
tonyrice
0
250
ReactJS: Keep Simple. Everything can be a component!
pedronauck
666
130k
Transcript
SlackֆจࣈੜbotΛͭͬͯ͘Έͨ @bmf_san
CPUΛͭͬͨ͘ https://github.com/bmf-san/emoji-generator-slack-app
Slack botʹmention͢Δͱը૾ੜͯ͘͠ΕΔ 4FSWFS ը૾ੜ !CPUCMVFTLZCMVFTMBDLFNPKJ
Slack botͷ࡞Γํ ɾࠓճGoͰͭͬͨ͘ ɾGoͰSlack BotΛ࡞Δʹɺ͜ͷهࣄ͕͔Γ͢ ͍ͷͰৄࡉׂѪ →https://qiita.com/frozenbonito/items/ cf75dadce12ef9a048e9 ɾmentionʹԠ͢Δ͚ͩͷbotൺֱత؆୯ɻdialog ͱ͔interactiveͳ͍ͭ͠ɺͱ͍͏͔໘..
ը૾ੜͷ ɾGoͰը૾ॲཧˠඪ४ͷimageύοέʔδ͕͑Δ ɾimagemagickͷΑ͏ʹॆ࣮ ɾϞβΠΫॲཧɺը૾߹ɺτϦϛϯάɺςΩετඳ ըͱ͔ۃΊΔͱָͦ͠͏ͳύοέʔδ
imageύοέʔδ͏ʁ ɾͬͯΑ͍͕ࠓճΘͳ͔ͬͨ ɾը૾ੜͷͨΊʹඳըͷύϥϝʔλΛνϡʔχϯά ͍ͯ͘͠ͷ͕ۤ࿑ͦ͠͏ɺͬͱָʹΓ͍ͨ ɾtruetypeϑΥϯτ͔͠αϙʔτ͞Ε͍ͯͳ͍
ϔουϨεϒϥβΛ༻͍ͨը૾ੜ ɾϔουϨεϒϥβΛىಈˠSS ɾϑϩϯτΤϯυͰը૾͍͡ΕΔɺCSSΑ͠ɺJS Α͠ ɾϒϥβ͕ରԠ͍ͯ͠ΔfontͳΒΑ͠ ɾࠓճslackֆจࣈͷͨΊͰ͕͢ɺOGPࣗಈੜͱ ͔૬ੑྑͦ͞͏
GoͰϔουϨεϒϥβΛૢΔ ɾChromedp https://github.com/chromedp/chromedp ɾchrome devtools protocolʢchromeΛૢ࡞͢ΔͨΊ ͷϓϩτίϧʣΛαϙʔτ͍ͯ͠Δͭ ɾSeleniumPhantomJSͱ͍ͬͨ֎෦ґଘͳ͠ ɾUI͖Ͱͳ͠ͰchromeΛૢΕΔ
None
chromedpΛͬͯը૾ੜ ɾbotͷϝϯγϣϯʹ͍͍ͭͯΔύϥϝʔλΛը૾ ੜͷͨΊͷೖྗͱͯ͠ѻ͏ ɾ@botname [color] [bgColor] [line1] [line2(optional)] MJOFɺ͕͋Δͱ͖ MJOF͚͕ͩ͋Δͱ͖
chromedpΛͬͯը૾ੜ ɾड͚औͬͨೖྗΛςϯϓϨʔτϑΝΠϧʹల։
None
chromedpΛͬͯը૾ੜ ɾड͚औͬͨೖྗΛςϯϓϨʔτϑΝΠϧʹల։ →canvasΛͬͯඳըʢCSS͚ͩͰΓ͔͕ͨͬͨɺεΫγϣͨͱ͖ ʹ༨ന্͕ࠞͬͯ͟ख͘Ͱ͖ͳ͔ͬͨɻɻcavasͩͱΩϨΠʹͰ͖ ͨʣ ɾ”ը૾ੜͷͨΊʹඳըͷύϥϝʔλΛνϡʔχϯά͍ͯ͘͠ͷ͕ۤ ࿑ͦ͠͏ɺͬͱָʹΓ͍ͨ” →݁ہςΩετඳըͷͨΊͷx࣠ɺy࣠ͷௐΛͬͨ
·ͱΊ ɾGoඪ४ͷimageύοέʔδͰྑ͔ͬͨʂʂʢfontʹ ͩ͜ΘΓͳ͔ͬͨͷͰɾɾʣ