Newer
Older
VQCalendarAttention / README.md
# 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に通知します。