# VQCalendarAttention VQCalendarAttentionは、Googleカレンダーから予定を取得し、一日前になった予定をDiscordに通知するプログラムです。Cronosによる定期実行でGoogleカレンダーを監視し、DiscordのWebhookを利用して通知を送信します。 ## 前提条件 - .NET 6.0 SDKがインストールされていること - GoogleカレンダーAPIのAPIキーと認証情報を取得済みであること - DiscordサーバーでWebhookを作成し、Webhook URLを取得済みであること ## インストール方法 1. リポジトリをクローンします。 git clone https://git.omhouse.mydns.jp/git/syuji/VQCalendarAttention.git 2. プロジェクトフォルダに移動し、必要なNuGetパッケージをインストールします。 cd VQCalendarAttention/VQCalendarAttention dotnet restore ## 設定 このプロジェクトでは、いくつかの環境変数を設定する必要があります。これらの環境変数は .env ファイルに記述してください。プロジェクトのルートディレクトリに .env ファイルを作成し、以下の環境変数を設定します。 ``` DISCORD_WEBHOOK_URL=your_discord_webhook_url DISCORD_ROLE_ID=your_discord_role_id CALENDAR_ID=your_calendar_id CREDENTIALS_FILE_PATH=your_credentials_file_path CRON_PATTERN_IMPORTANT=your_cron_pattern_important CRON_PATTERN_NEXTDAY=your_cron_pattern_nextday ``` 各環境変数の説明: - DISCORD_WEBHOOK_URL: DiscordのWebhook URLです。通知を送信するチャンネルに対応するWebhookを作成し、そのURLを指定してください。 - DISCORD_ROLE_ID: メンションを送信するDiscordのロールIDです。メンションを送りたいロールのIDを指定してください。 - CALENDAR_ID: GoogleカレンダーのIDです。通知を取得したいカレンダーのIDを指定してください。 - CREDENTIALS_FILE_PATH: GoogleカレンダーAPIの認証情報(サービスアカウントキー)ファイルへのパスです。適切なパスを指定してください。 - CRON_PATTERN_IMPORTANT: [重要]タグが付いた予定の通知を送信するタイミングを指定するCRONパターンです。 - CRON_PATTERN_NEXTDAY: 翌日の予定の通知を送信するタイミングを指定するCRONパターンです。 .env ファイルを作成したら、プログラムを実行する前に、適切な値に置き換えてください。 ## 実行方法 プロジェクトフォルダで以下のコマンドを実行します。 dotnet run これにより、VQCalendarAttentionプログラムが開始され、設定したCron式に従ってGoogleカレンダーから予定を取得し、一日前になった予定をDiscordに通知します。