nakaoka3の技術ブログ

2023年中に52本なにか書きます

ミーティングの時間になると勝手に議事録を開いてほしい

これははてなエンジニアアドベントカレンダー2022 38日目の記事です。

昨日は id:yutailang0119 さんの Programmatic NavigationStack 備考録 - がんばってなんか書くでした。


MeetingBar.appとAppleScriptを使って議事録用のwebページを自動で開く方法を解説します。

毎日ミーティングのたびにGoogle MeetやZoomを開き、さらに議事録ページを開く作業にうんざりしてないでしょうか。MeetingBar.appを使うことでGoogle MeetやZoomと議事録を開く作業を自動化できます。

MeetingBarとはmacOS用のアプリケーションです。ZoomやGoogle Meetで予定されたミーティングの時間になると自動的にミーティングを起動する事ができて大変便利です。

github.com

MeetingBarはMac App Storeからインストールできます。

MeetingBar for Meet, Zoom & Co

MeetingBar for Meet, Zoom & Co

  • Andrii Leitsius
  • Productivity
  • Free
apps.apple.com

MeetingBarAppleScriptを実行できます

AppleScriptを使うことで議事録ページを開くことができます。AppleScriptシェルスクリプトを実行できるので、AppleScriptに詳しい必要はありません。

-- この関数はデフォルトで書かれている
on meetingStart(eventId, title, allday, startDate, endDate, eventLocation, repeatingEvent, attendeeCount, meetingUrl, meetingService, meetingNotes)
    -- 関数のなかに実行したいことを書く
    if title as string = "デイリースクラム" then
        do shell script "open https:/example.com/your-daily-meeting"
    else if title as string = "スプリント計画" then
        do shell script "open https:/example.com/your-sprint-planning"
    end if
end meetingStart

上記の例では、 「デイリースクラム」や「スプリント計画」というタイトルのミーティングが開始されるときに、特定のURLを開くようにしています。

AppleScriptでは「等しい」の比較演算子= です。「等しくない」の演算子/= です。

多くの言語で = は代入演算子として使われいるため、違和感を覚えます。変数への代入は set コマンドを使って以下のように行います。

-- set <変数名> to <代入する値>
set x to "Hello, world"

URLを https://example.com/meeting_2023-1-6 のように日付によって動的に変更したい場合もあると思います。その場合は好きな言語でスクリプトを書いて、do shell script から実行することで実現可能です。

関連記事: kyo-nikki.hatenablog.com