Googleフォームの回答を特定の数で締め切るスクリプト
概要
Googleフォームの回答を特定の回答数に達したときに締め切る方法を解説します。
コード
設定したいGoogleフォーム単体に紐づくApps Scriptに以下のコードを記述します
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
| function endFormCheck() {
var LIMIT_NUMBER = 100; // 人数の上限値を入れてね
var answer = FormApp.getActiveForm();
var responseCount = answer.getResponses().length;
if (responseCount >= LIMIT_NUMBER) {
answer.setAcceptingResponses(false);
notifyDiscord(responseCount);
}
}
function notifyDiscord(responseCount) {
var discordWebhookURL = 'your_webhook_URL';
var payload = {
content: '<@userID><@&roleID>フォームの受付が停止されました。現在の回答数は ' + responseCount + ' です。'
};
var options = {
method: 'post',
contentType: 'application/json',
payload: JSON.stringify(payload)
};
UrlFetchApp.fetch(discordWebhookURL, options);
}
|
- webhookのURL、content内のユーザーIDとロールIDは適宜置き換えてください。
- トリガー設定は「endFormCheck」をフォーム送信時に実行するように設定してください。