Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Golang_chromedp_slack_botでslackの絵文字自動生成ボットをつく...
Search
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
95
完璧を求めない意思決定-アクセス制御基盤における制約との向き合い方
bmf_san
5
20k
AAPについて調べてみた
bmf_san
0
150
レーダーをつくる
bmf_san
0
88
契約テストとPactについて
bmf_san
0
130
5分でわかるSLO
bmf_san
2
190
権限について考える
bmf_san
2
190
自作HTTPルーターから新しいServeMuxへ
bmf_san
3
1.9k
古くなってしまったPHPフレームワークとPHPのバージョンアップ戦略
bmf_san
1
520
Other Decks in Programming
See All in Programming
UnityでSystem.Net.WebSocketsなWebSocketサーバが動かないのでUnity Monoのコードを覗いてみた / about implementing websocket server with unity mono
drumath2237
1
320
Java 27新機能 / Java 27 new features
kishida
2
160
海上で動くGoサーバー: goroutineとchannelでさばく航行データストリーム
atsuki_seo
0
900
AWS DevOps Agentで インシデント対応をAIに任せたい
honmarkhunt
7
3.1k
AI × TiDD / 2026.09.05 Redmine 大阪
tokudiro
1
180
Are APIs Still Relevant in the AI Era?
soyuka
0
300
アクセシビリティから考える情報設計
high_g_engineer
0
380
選挙速報を多くのユーザーへ 届ける Live Activities 設計
hamayokokuririn
0
160
Family mrubyの進捗
kishima
1
130
C#の現在地 進化の歴史と、AI時代の.NET Everywhere
neuecc
4
3.5k
変化を抱擁するドキュメントの作り方 - ビジネスルール駆動開発がもたらす、コードとの新しい関係
ioki
2
220
Heart of Swift Concurrency
koher
0
950
Featured
See All Featured
Site-Speed That Sticks
csswizardry
13
1.5k
Amusing Abliteration
ianozsvald
1
310
SEO in 2025: How to Prepare for the Future of Search
ipullrank
3
3.8k
Large-scale JavaScript Application Architecture
addyosmani
515
110k
The Curious Case for Waylosing
cassininazir
1
520
A designer walks into a library…
pauljervisheath
211
25k
Collaborative Software Design: How to facilitate domain modelling decisions
baasie
1
320
SEO for Brand Visibility & Recognition
aleyda
0
4.7k
実際に使うSQLの書き方 徹底解説 / pgcon21j-tutorial
soudai
PRO
203
76k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
659
62k
Navigating Algorithm Shifts & AI Overviews - #SMXNext
aleyda
1
1.6k
JAMstack: Web Apps at Ludicrous Speed - All Things Open 2022
reverentgeek
1
610
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ʹ ͩ͜ΘΓͳ͔ͬͨͷͰɾɾʣ