SlackにZoomの使用状況を表示したい

 SlackにZoomの使用状況を表示したい

SlackのstatusにZoomの接続状況を逐次、自動反映させる仕組みを作った話

1f744b4a2aac98ea3fe81fe1f0217573?s=128

Yukimitsu Izawa

August 15, 2020
Tweet

Transcript

  1. SLACKʹZOOMͷ࢖༻ঢ়گ Λද͍ࣔͨ͠ ҪᖒΏ͖Έͭ 2020೥8݄15೔ Kanazawa.rb meetup #96

  2. ࣗݾ঺հ ➤ YouTuber ➤ My Outdoor Life (https://kanazawa.camp/) ➤ ത࢜(৘ใՊֶ)

    ➤ ΠϯλʔωοτΛ࢖ͬͨૄ݁߹෼ࢄγεςϜͷݚڀΛ͍ͯ͠·͢ ➤ גࣜձࣾΫϧ΢Οοτ औక໾ ݉ ๺཮ࢧࣾ௕ COO ➤ Code for Kanazawa ཧࣄ ➤ ిࢠ޻࡞ͱφΠϑΛࣗ࡞͢Δͷ͕झຯͰ͢
  3. WHFͷࡢࠓ…… ➤ ZoomͰςϨΧϯதʹɺSlackͰ࿩͔͚͠ΒΕΔͱ൓ԠͰ͖ͳ͍͜ͱ͕͋Δ ➤ Slackʹ͸ɺstatus ͱ͍͏ػೳΛ࢖ͬͯʮ͍·ԿΛ͍ͯ͠ΔʯΛදݱͰ͖Δ ➤ ͱ͍͏͜ͱ͸ɺZoomதʹ statusΛʮZoomར༻தʯͬͯදࣔͰ͖Ε͹ɺ͓࡯͍ͨ͠ ͚ͩͳ͍Ͱ͠ΐ͏͔ʁ!

    ➤ खಈͩͱ໘౗ͩ͠ɺ໭͠๨ΕͨΓͦ͠͏ͳͷͰɺࣗಈతʹ΍ͬͯཉ͍͠
  4. ػೳཁૉ ➤ Zoom ͰςϨΧϯத͔Ͳ͏͔ͷ൑ఆํ๏ ➤ Zoom ͷAPIͰ΋औΕͦ͏(?) ➤ ߴස౓ʹఆظతʹAPIΛୟ͘ͷ͸ͪΐͬͱ͏Δ͍͞ ➤

    Zoom Client͕roomʹ઀ଓதͷͱ͖͚ͩىಈ͢Δprocess͕͋ΔͷͰɺͦͷଘࡏΛ νΣοΫ͢Δ͜ͱʹ͢Δ ➤ Slack ͷstatus ͷมߋํ๏ ➤ Web API Λ࢖ͬͯɺget ͱ set Λ͢Δ
  5. ΞʔΩςΫνϟ macOSϚγϯ Python Script process table APIαʔό

  6. ΞʔΩςΫνϟ macOSϚγϯ Python Script process table "CptHost"্͕͕͍ͬͯΔ͔Λperiodicʹlookup͢Δ APIαʔό

  7. ΞʔΩςΫνϟ macOSϚγϯ Python Script process table APIαʔό user.status.get ͰݱࡏͷstatusΛऔಘͯ͠هԱ

  8. ΞʔΩςΫνϟ macOSϚγϯ Python Script process table APIαʔό user.status.set Ͱ status_emoji

    Λ :zoom: ΞΠίϯʹͯ͠ status_text ΛʮIn a meeting via Zoomʯʹઃఆ͢Δ
  9. ΞʔΩςΫνϟ macOSϚγϯ Python Script process table APIαʔό ֤ΫϥΠΞϯτʹมߋ͕௨஌͞ΕΔ

  10. PYTHON SCRIPTΛίϚϯυԽ ➤ ىಈ༻ shell script Λॻ͘

  11. SCRIPT΋ࣗಈىಈ͍ͨ͠ ➤ Automator ͰAppԽ ➤ ϩάΠϯ߲໨ʹొ࿥ ➤ શࣗಈͰZoomͷঢ়ଶΛSlackͷstatusʹ൓өͤ͞Δ͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ

  12. DEMO ➤ ιʔείʔυ͸ҎԼʹஔ͍ͯ͋Γ·͢ɻ ➤ https://github.com/izawa/slack_zoom_status