これははてなエンジニアアドベントカレンダー2022 38日目の記事です。
昨日は id:yutailang0119 さんの Programmatic NavigationStack 備考録 - がんばってなんか書くでした。
MeetingBar.appとAppleScriptを使って議事録用のwebページを自動で開く方法を解説します。
毎日ミーティングのたびにGoogle MeetやZoomを開き、さらに議事録ページを開く作業にうんざりしてないでしょうか。MeetingBar.appを使うことでGoogle MeetやZoomと議事録を開く作業を自動化できます。
MeetingBarとはmacOS用のアプリケーションです。ZoomやGoogle Meetで予定されたミーティングの時間になると自動的にミーティングを起動する事ができて大変便利です。
MeetingBarはMac App Storeからインストールできます。
apps.apple.comMeetingBarはAppleScriptを実行できます。
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