---
title: 中永和防災自訓團：自訓體驗報名表填表通知
updated: 2025-09-30 10:10:23Z
created: 2025-09-30 10:10:08Z
latitude: 25.03296940
longitude: 121.56541770
altitude: 0.0000
---

function onEdit(e) {
  try {
    const LINE_CHANNEL_ACCESS_TOKEN = 'YhEEmDU38nZzLGA5gJYqUY/O1l25yVo5Ohd0GVHPM+hDSaEfh5Sx+ViiUCxFUIvok/PlDtmSCdN+tn2oxM0hwwdhPAeTxJAC78ZOO8IXXmqi/HuVoqZ5cdbloP+s5AFGBTXMlrRuDd0lxgJ09urDSwdB04t89/1O/w1cDnyilFU='; // 替換成你的LINE頻道存取權杖
    const USER_ID = 'Ca5ef774df661fc4d465b27168edd7670'; // 替換成接收訊息的用戶ID
    const DISCORD_WEBHOOK_URL = 'https://discord.com/api/webhooks/1401047449832783954/LhKshXrbbslKzODRq5VSdUZlybEM6Ammniip8X7saoC-4IZnvbf0tzUNvO0k2ykLztfV'; // Discord webhook URL
    const SPREADSHEET_ID = '1VbhRFtDPusybT_bs6lahYect4xT5RLRCzaWIYSQyPSQ'; // 替換成你的試算表ID
    const SHEET_NAME = '表單回應 1'; // 替換成你的工作表名稱

    const spreadsheet = SpreadsheetApp.openById(SPREADSHEET_ID);
    const sheet = spreadsheet.getSheetByName(SHEET_NAME);
    let data;
    let row;

    if (e && e.range) {
      const range = e.range;
      row = range.getRow();
      data = sheet.getRange(row, 1, 1, sheet.getLastColumn()).getValues()[0];
          // 檢查是否為目標工作表
      const editedSheet = e.range.getSheet();
      if (editedSheet.getName() !== SHEET_NAME) {
        Logger.log(`編輯發生在 ${editedSheet.getName()}，不是目標工作表 ${SHEET_NAME}`);
        return;
      }
    } else {
      row = sheet.getLastRow();
      data = sheet.getRange(row, 1, 1, sheet.getLastColumn()).getValues()[0];
    }

    let message = `《有新填表通知》\n`;
    message += `別人如何稱呼你：${data[9]}\n`;
    message += `LINE暱稱：${data[10]}\n`;
    message += `有通訊、急救、運動、軍事等知識或認證：${data[4]}\n`;
    message += `有參加過壯闊、黑熊、極光等課程：${data[5]}\n`;
    message += `參與過什麼保護台灣的行動：${data[6]}\n`;
    message += `希望從自訓練習學到、得到什麼：${data[7]}\n`;
    message += `如何得知我們：${data[8]}\n`;
    
    message += `#${row}`;

    // sendLineMessage(USER_ID, message, LINE_CHANNEL_ACCESS_TOKEN);
    sendDiscordMessage(DISCORD_WEBHOOK_URL, message);
  } catch (error) {
    Logger.log('Error: ' + error.message);
  }
}

function sendLineMessage(userId, message, accessToken) {
  const url = 'https://api.line.me/v2/bot/message/push';
  const payload = {
    to: userId,
    messages: [
      {
        type: 'text',
        text: message
      }
    ]
  };

  const options = {
    'method': 'post',
    'contentType': 'application/json',
    'headers': {
      'Authorization': `Bearer ${accessToken}`
    },
    'payload': JSON.stringify(payload)
  };

  let result = UrlFetchApp.fetch(url, options);
  Logger.log(result);
}
function sendDiscordMessage(webhookUrl, message) {
  const payload = {
    content: message,
    username: '自訓填表通知', // 可自訂 bot 名稱
    avatar_url: '' // 可添加 bot 頭像 URL (選用)
  };

  const options = {
    'method': 'post',
    'contentType': 'application/json',
    'payload': JSON.stringify(payload)
  };

  try {
    let result = UrlFetchApp.fetch(webhookUrl, options);
    Logger.log('Discord 發送結果: ' + result.getContentText());
  } catch (error) {
    Logger.log('Discord 發送錯誤: ' + error.message);
  }
}
