メインコンテンツまでスキップ

Googleカレンダー(毎日のダイジェスト)

説明

ユーザーガイド

1つ以上のGoogleカレンダーをサーバーに連携させると、Botが毎日、今後の予定のまとめを投稿します。また、各メンバーが前日リマインダーをダイレクトメッセージで受け取るために登録できる、対話式のパネルも表示できます。

機能​

  • 今後30日間の予定の毎日のダイジェストを、指定したチャンネルと時刻に投稿します。
  • 対話式のイベントパネルを表示します。ページ送り、自動更新、次回更新までのカウンター付きです。
  • パネルからイベントに登録したメンバーに、前日リマインダーをダイレクトメッセージで送信します。
  • 複数のカレンダーを同時に監視できます。公開カレンダー(ログインなしで読み取り)と非公開カレンダー(連携したGoogleアカウント経由で読み取り)の両方に対応します。
  • サーバーに設定したタイムゾーンに従います。

Google側で用意するもの​

Google側で作成するものは何もありません。 Google Cloudプロジェクト、APIキー、OAuthの認証情報はいずれも不要です。これらはTennoCoreが提供します。カレンダーの種類に応じて、必要なものは次のとおりです。

公開カレンダー​

  1. カレンダーID。パソコンでcalendar.google.comを開き、「マイカレンダー」でカレンダーにカーソルを合わせ → ⋮ メニュー → 設定と共有 → カレンダーの統合セクション → カレンダーIDをコピーします。
  2. カレンダーを公開にする必要があります。同じページの アクセス権限 → 一般公開して誰でも利用できるようにする。これを行わないと、Botはカレンダーを読み取れません。

IDの代わりに、cid= を含むGoogleのリンクを指定することもできます。

非公開カレンダー​

  1. メンバーの誰か(多くの場合はあなた自身)がGoogleアカウントを連携する必要があります。ダッシュボードのGoogleアカウントを連携ボタン、またはDiscordの /agenda connect を使用します。Googleが表示するコードを専用ページに入力します。要求される権限はカレンダーに対する読み取り専用です。
  2. アカウントを連携したら、それを所有者として選択し、表示される一覧からカレンダーを選択します。この場合、カレンダーを公開する必要はありません。
注記

非公開カレンダーは、それを許可したアカウントのトークンで読み取られます。そのメンバーがアカウントの連携を解除すると、紐づいていた非公開カレンダーは読み取れなくなります。

クイックスタート(管理者)​

  1. タイムゾーンを設定します:/agenda timezone tz:Asia/Tokyo。
  2. カレンダーを追加します:/agenda calendrier ajouter_public calendar_id:<ID>(ダッシュボードからでも可)。
  3. チャンネルと時刻を選びます:/agenda digest config_responses channel:#カレンダー hour:9。
  4. 表示を確認します:/agenda digest tester。
  5. 毎日の送信を有効にします:/agenda digest enable_module。

コマンド​

Googleアカウント(全員)​

コマンド説明
/agenda connectGoogleアカウントを連携(Googleのページでコードを入力)。
/agenda meGoogleとの連携状態を確認。
/agenda disconnect連携を解除し、Googleのトークンを削除。
/agenda my_events自分の次の5件の予定を非公開で表示。
/agenda publish対話式のイベントパネルを投稿。
/agenda digest testerテスト用のダイジェストを直ちに投稿。

/agenda publish のパラメーター:channel(省略時は現在のチャンネル)、days(1〜60日の期間、初期値は30)、refresh_every(30〜3600秒の自動更新間隔、初期値は300)。

監視するカレンダー​

コマンド説明
/agenda calendrier listerこのサーバーが監視しているカレンダーを一覧表示。
/agenda calendrier ajouter_public公開カレンダーを追加(IDまたは cid= を含むリンク)。表示名は任意。(管理者)
/agenda calendrier ajouter_prive連携済みメンバーのGoogleアカウントを利用して非公開カレンダーを追加。(管理者)
/agenda calendrier retirer監視中のカレンダーを削除(IDは自動補完されます)。(管理者)

毎日のダイジェスト​

コマンド説明
/agenda digest config_responses送信するチャンネルと現地時刻(0〜23)を指定。(管理者)
/agenda digest enable_module毎日の送信を有効化。(管理者)
/agenda digest desactiver毎日の送信を無効化。(管理者)
/agenda timezoneサーバーのタイムゾーンをIANA形式で設定。(管理者)

ダッシュボードでの設定​

ダッシュボード → ツールとスタッフカテゴリ → Google Calendarスケジュール。

  • ダイジェストの設定:投稿するチャンネル、送信時刻(0〜23)、タイムゾーン(Europe/Paris、UTC、America/New_York)、有効化スイッチ。
  • 非公開カレンダー:連携済みGoogleアカウントの一覧(メールアドレス付き)、追加で連携するボタン、連携を解除するボタン。
  • カレンダー:監視中のカレンダーの一覧。公開/非公開を示すアイコン、ID、所有アカウントが表示されます。追加時のウィンドウでは、まず種類を選びます。
    • 公開:IDを貼り付けます(展開できるヘルプでIDの見つけ方を案内しています)。
    • 非公開:連携済みアカウントを選び、そのアカウントの一覧からカレンダーを選びます。
    • いずれの場合も、表示名を付けられます。
  • 予定のプレビュー(30日):直近10件の予定を日ごとにまとめて表示し、Google Calendarへのリンクを添えます。
  • ダイジェストをテスト:設定済みのチャンネルに直ちにダイジェストを投稿します。

監視できるカレンダーの数はプレミアムでないサーバーでは3つに制限されています(初期値であり、TennoCoreチームが調整できます)。

知っておきたいこと​

  • ダイジェストは5分ごとに確認され、指定した時刻の間に1日1回だけ投稿されます。その1時間の間ずっとBotが利用できなかった場合、その日のダイジェストは単に見送られ、後から送られることはありません。
  • ダイジェストは常に30日間を対象とし、1ページあたり25件の予定を表示します。
  • カレンダーが設定されていない場合、/agenda publish は投稿を行わず、カレンダーの追加を促します。
  • イベントパネルは一時的なものです。 操作のないまま15分が経過するとボタンが反応しなくなり、自動更新も停止します。常設の表示が必要な場合は、パネルではなく毎日のダイジェストを使用してください。
  • 今すぐ更新、前日に通知する、通知を解除するの各ボタンは、コマンドを実行したメンバー専用です。他のメンバーが押すと拒否されます。そのため、登録したい人はそれぞれ自分のパネルを投稿するか、ダイジェストのパネルを利用する必要があります。
  • 前日リマインダーはダイレクトメッセージで届きます。 ダイレクトメッセージを受け取らない設定にしているメンバーには届きません。リマインダーは1分ごとに確認されます。
  • タイムゾーンは送信時刻と日付の表示の両方を左右します。ダッシュボードでは3つのタイムゾーンのみ選択できますが、/agenda timezone はIANA形式の任意の名前を受け付けます(Europe/Brussels、America/Sao_Paulo など)。
  • ダイジェストのチャンネルで、Botにはメッセージを送信および埋め込みリンクの権限が必要です。
  • /agenda disconnect はTennoCore側に保存されたあなたのGoogleトークンを削除します。サーバーの公開カレンダーはそのまま機能しますが、あなたのアカウントに依存していた非公開カレンダーは機能しなくなります。