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
bmf_san
August 12, 2020
Programming
120
0
Share
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
55
完璧を求めない意思決定-アクセス制御基盤における制約との向き合い方
bmf_san
5
19k
AAPについて調べてみた
bmf_san
0
110
レーダーをつくる
bmf_san
0
77
契約テストとPactについて
bmf_san
0
120
5分でわかるSLO
bmf_san
2
170
権限について考える
bmf_san
2
160
自作HTTPルーターから新しいServeMuxへ
bmf_san
3
1.8k
古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略
bmf_san
1
500
Other Decks in Programming
See All in Programming
ECR拡張スキャンでSBOMを収集して サプライチェーン攻撃の影響調査を 爆速で終わらせてみた
akihisaikeda
1
170
AI時代になぜ書くのか
mutsumix
0
440
密結合なバックエンドから TypeScript のコードを生成する
kemuridama
1
270
CLIであることを活かしたGitHub Copilot CLI活用術 / GitHub Copilot CLI Pro Tips & Tricks
nao_mk2
1
420
【ディップ|26年新卒研修資料】TDD実装演習
dip_tech
PRO
0
290
TSKaigi2026-静的解析への投資がAI時代のコード品質を支える ── カスタムESLintルールの設計と運用
hayatokudou
5
760
Structured Concurrency, Scoped Values and Joiners in the JDK 25 26 27
josepaumard
1
160
When benchmarks go bad - what I learned from measuring performance wrong
hollycummins
0
400
SkillsをS3 Filesに置く時のあれこれ
watany
3
1.7k
Agent Skills を社内で育てる仕組み作り
jackchuka
1
2.2k
柔軟なPDFレイアウトエディタを支える型システム設計 — Discriminated UnionとConditional Typeの実践
minako__ph
2
260
ReactとSvelteのその先、Ripple-TS / Beyond React and Svelte: Ripple-TS
ssssota
2
480
Featured
See All Featured
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
140
Making Projects Easy
brettharned
120
6.6k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
47
8.1k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
Bash Introduction
62gerente
615
210k
技術選定の審美眼(2025年版) / Understanding the Spiral of Technologies 2025 edition
twada
PRO
118
110k
First, design no harm
axbom
PRO
2
1.2k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
28
3.5k
The Cult of Friendly URLs
andyhume
79
6.9k
Embracing the Ebb and Flow
colly
88
5k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
0
290
Side Projects
sachag
455
43k
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ʹ ͩ͜ΘΓͳ͔ͬͨͷͰɾɾʣ