このプロジェクトは,教室掲示のQRコードから取得できる講義出席リンクを,講義開始30分前にDiscordへ自動で通知するリマインダーです. Google Apps Script(GAS)と Discord Webhook を組み合わせて動作します.新システム以降に伴う出席失念の防止,カメラを搭載しないデバイスでの出席登録補助を目的としています.
- 5分おきに実行され,開講30分前に対応する講義があれば Discord に通知
- 曜日・開始時間・教室IDを Google スプレッドシートから読み込み
- Webhook URL をプロパティストで管理しコードの改変不要
- 通知は Discord の「埋め込み」メッセージ形式で見やすく装飾
| ファイル名 | 内容 |
|---|---|
assets |
readme用のサンプルイメージを格納したディレクトリ |
AttendanceReminder.gs |
GAS本体スクリプト |
README.md |
この説明書 |
テンプレートからスプレッドシートをダウンロードし以下のような形式のシートを Classes という名前で作成します.
| 曜日 | 時限 | 講義名 | 教室番号 | 開始時刻 |
|---|---|---|---|---|
| 月 | 1 | インターネット | 621 | 09:00 |
| 火 | 3 | データ構造 | 622 | 13:00 |
- 曜日は 漢字1文字(例: 月, 火)
- 開始時刻は
HH:MM形式(例:09:00)
- スプレッドシート上部のメニューから,拡張機能 > Apps Script を開き,
AttendanceReminder.gsの内容を貼り付けて保存します
Apps Script エディタ画面の右上にある 歯車マーク(プロジェクトの設定) をクリックし,スクリプトのプロパティ > スクリプトのプロパティの追加を選択. 下記のように設定し保存します.(*Discordウェブフックの取得については各自検索してください)
- プロパティ: WEBHOOK_URL
- 値: あなたの Discord Webhook の URL(例:https://discord.com/api/webhooks/xxxxx/yyyyy)

画面左側の歯車マークから以下のようにトリガーを設定します:
- 実行する関数の選択:
autoReminderFromSheet - 実行するデプロイを選択: HEAD
- イベントのソースを選択: 時間主導型
- 時間ベースのトリガーのタイプを選択: 分ベースのタイマー
- 時間の間隔を選択(分):5分おき
スプレッドシートにテスト用の講義を追加し,対応する時間にリマインダーがDiscordに届くか確認してみてください.
- このツールは 個別のWebhook を使用するため,スクリプトをコピーして使うことを推奨します.
- スプレッドシートのみ共有する場合でも,各自が プロパティからwebhookを設定することで利用可能です.
Discordに以下のようなリマインダーが表示されます:
- Webhook URLはスクリプト内に保存せず,GASの「スクリプトプロパティ」に安全に保存されます.
- スプレッドシートは個人用,または信頼できる相手と共有しましょう.
- このプロジェクトは自由に改変・再配布可能ですが,学内用途向けです.
- GASやDiscordの仕様変更により,予告なく動作しなくなる可能性があります.
