Featured image of post Googleフォームの回答を規定数で締め切る(+Disocrd通知)

Googleフォームの回答を規定数で締め切る(+Disocrd通知)

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」をフォーム送信時に実行するように設定してください。
発言は個人の見解であり、所属組織とは関係ありません。
Hugo で構築されています。
テーマ StackJimmy によって設計されています。