Discord のメッセージからイベント情報を抽出し、Google カレンダーへ同期する Google Apps Script (GAS) プロジェクトです。
Gemini APIを使って自然文から予定を抽出します。
- Discord メッセージを取得してイベント抽出
- Google カレンダーへ重複を考慮して同期
- 同期対象メッセージへリアクション付与(👍 / 🐟)
- 毎日のリマインドを Discord に投稿(15:00 を境に当日/翌日を切り替え)
Discord から新規メッセージを取得し、Gemini でイベントを抽出して Google カレンダーへ同期します。同期できたイベントの元メッセージにはリアクションを付与します。
カレンダーから対象日の予定を取得し、Discord の通知チャンネルへ一覧を投稿します。実行時刻が 15:00 未満なら当日分、15:00 以降なら翌日分を通知します。
npm run build
npx clasp push初回のみ必要に応じて:
npx clasp loginPropertiesService.getScriptProperties() で以下を参照します。
Discord メッセージ取得を中継するCloud RunプロキシのURL。
Google Apps ScriptからDiscord APIを呼び出すには、何らかのプロキシが必要です。ここではnandenjin/google-apps-script-discord-proxyをGoogle Cloud Runに認証付きでデプロイしたものを使用するようにしています。
- 例:
https://discord-proxy-xxxx-uc.a.run.app
Discord API 呼び出し(投稿・リアクション付与)に使う Bot トークン。
- 例:
h0AxnZuR16jkKLxzsI7qZnfcs2ZIAsXnN2sqzRHBxSkLlznrdFcuygesjgJTf
イベント抽出元となる Discord チャンネル ID。
- 例:
123456789012345678
日次リマインドの投稿先 Discord チャンネル ID。
- 例:
987654321098765432
同期先の Google カレンダー ID。primary かメール形式 ID を指定します。
- 例:
team-calendar@example.com
Gemini にイベント抽出を依頼するための API キー。
- 例:
AIza...