Golang_chromedp_slack_botでslackの絵文字自動生成ボットをつくってみた.pdf

 Golang_chromedp_slack_botでslackの絵文字自動生成ボットをつくってみた.pdf

0c9a69560f916778b569086d792680bb?s=128

bmf_san

August 12, 2020
Tweet

Transcript

  1. Slackֆจࣈੜ੒botΛͭͬͯ͘Έͨ @bmf_san

  2. CPUΛͭͬͨ͘ https://github.com/bmf-san/emoji-generator-slack-app

  3. Slack botʹmention͢Δͱը૾ੜ੒ͯ͘͠ΕΔ 4FSWFS ը૾ੜ੒ !CPUCMVFTLZCMVFTMBDLFNPKJ

  4. Slack botͷ࡞Γํ ɾࠓճ͸GoͰͭͬͨ͘ ɾGoͰSlack BotΛ࡞Δʹ͸ɺ͜ͷهࣄ͕෼͔Γ΍͢ ͍ͷͰৄࡉ͸ׂѪ →https://qiita.com/frozenbonito/items/ cf75dadce12ef9a048e9 ɾmentionʹ൓Ԡ͢Δ͚ͩͷbot͸ൺֱత؆୯ɻdialog ͱ͔interactiveͳ΍ͭ͸೉͍͠ɺͱ͍͏͔໘౗..

  5. ը૾ੜ੒ͷ࿩ ɾGoͰը૾ॲཧˠඪ४ͷimageύοέʔδ͕࢖͑Δ ɾimagemagickͷΑ͏ʹॆ࣮ ɾϞβΠΫॲཧɺը૾߹੒ɺτϦϛϯάɺςΩετඳ ըͱ͔ۃΊΔͱָͦ͠͏ͳύοέʔδ

  6. imageύοέʔδ࢖͏ʁ ɾ࢖ͬͯ΋Α͍͕ࠓճ͸࢖Θͳ͔ͬͨ ɾը૾ੜ੒ͷͨΊʹඳըͷύϥϝʔλΛνϡʔχϯά ͍ͯ͘͠ͷ͕ۤ࿑ͦ͠͏ɺ΋ͬͱָʹ΍Γ͍ͨ ɾtruetypeϑΥϯτ͔͠αϙʔτ͞Ε͍ͯͳ͍

  7. ϔουϨεϒϥ΢βΛ༻͍ͨը૾ੜ੒ ɾϔουϨεϒϥ΢βΛىಈˠSS ɾϑϩϯτΤϯυͰը૾͍͡ΕΔɺCSS΋Α͠ɺJS ΋Α͠ ɾϒϥ΢β͕ରԠ͍ͯ͠ΔfontͳΒΑ͠ ɾࠓճ͸slackֆจࣈͷͨΊͰ͕͢ɺOGPࣗಈੜ੒ͱ ͔૬ੑྑͦ͞͏

  8. GoͰϔουϨεϒϥ΢βΛૢΔ ɾChromedp https://github.com/chromedp/chromedp ɾchrome devtools protocolʢchromeΛૢ࡞͢ΔͨΊ ͷϓϩτίϧʣΛαϙʔτ͍ͯ͠Δ΍ͭ ɾSelenium΍PhantomJSͱ͍ͬͨ֎෦ґଘͳ͠ ɾUI෇͖Ͱ΋ͳ͠Ͱ΋chromeΛૢΕΔ

  9. None
  10. chromedpΛ࢖ͬͯը૾ੜ੒ ɾbot΁ͷϝϯγϣϯʹ͍͍ͭͯΔύϥϝʔλΛը૾ ੜ੒ͷͨΊͷೖྗͱͯ͠ѻ͏ ɾ@botname [color] [bgColor] [line1] [line2(optional)] MJOFɺ͕͋Δͱ͖ MJOF͚͕ͩ͋Δͱ͖

  11. chromedpΛ࢖ͬͯը૾ੜ੒ ɾड͚औͬͨೖྗΛςϯϓϨʔτϑΝΠϧʹల։

  12. None
  13. chromedpΛ࢖ͬͯը૾ੜ੒ ɾड͚औͬͨೖྗΛςϯϓϨʔτϑΝΠϧʹల։ →canvasΛ࢖ͬͯඳըʢCSS͚ͩͰ΍Γ͔͕ͨͬͨɺεΫγϣͨͱ͖ ʹ༨ന্͕ࠞͬͯ͟ख͘Ͱ͖ͳ͔ͬͨɻɻcavasͩͱΩϨΠʹͰ͖ ͨʣ ɾ”ը૾ੜ੒ͷͨΊʹඳըͷύϥϝʔλΛνϡʔχϯά͍ͯ͘͠ͷ͕ۤ ࿑ͦ͠͏ɺ΋ͬͱָʹ΍Γ͍ͨ” →݁ہςΩετඳըͷͨΊͷx࣠ɺy࣠ͷௐ੔Λ΍ͬͨ

  14. ·ͱΊ ɾGoඪ४ͷimageύοέʔδͰྑ͔ͬͨʂʂʢfontʹ ͩ͜ΘΓ΋ͳ͔ͬͨͷͰɾɾʣ