Задать вопрос
  • Как сделать так чтобы вебхук дискорда через заполненную гугл форму откидывал его на 2 канала сразу?

    ghqstlysoul
    @ghqstlysoul
    Discord: ghqstlysoul
    var CHANNEL_1_URL = ""
    var CHANNEL_2_URL = ""
    
    function onSubmit(e) {
    var form = FormApp.getActiveForm();
    var allResponses = form.getResponses();
    var latestResponse = allResponses[allResponses.length - 1];
    var response = latestResponse.getItemResponses();
    var items = [];
    
    // Извлекаем Discord ID из последнего ответа
    var discordID = response[response.length - 1].getResponse();
    
    for (var i = 0; i < response.length - 1; i++) { // Исключаем последний ответ, так как это Discord ID
    var question = response[i].getItem().getTitle();
    var answer = response[i].getResponse();
    try {
    var parts = answer.match(/[\s\S]{1,1024}/g) || [];
    } catch (e) {
    var parts = answer;
    }
    
    if (answer == "") {
    continue;
    }
    for (var j = 0; j < parts.length; j++) {
    if (j == 0) {
    items.push({
    "name": question,
    "value": parts[j],
    "inline": false
    });
    } else {
    items.push({
    "name": question.concat(" (cont.)"),
    "value": parts[j],
    "inline": false
    });
    }
    }
    }
    
    // Добавляем тег пользователя внизу формы в раздел "fields"
    items.push({
    "name": "Отправил/отправила форму:",
    "value": "<@" + discordID + ">",
    "inline": false
    });
    
    var options = {
    "method": "post",
    "headers": {
    "Content-Type": "application/json",
    },
    "payload": JSON.stringify({
    "content": "", // Название сообщения, тег
    
    "embeds": [{
    "type": 'rich',
    "author": {
    "name": "",
    "icon_url": "" // Верхний колонтитул
    },
    "title": "Оставить отчет!",
    "timestamp": new Date().toISOString(), // Время переменной введено
    "url": "", // Заголовок с гиперссылкой
    "color": , // Цвет боковой штучки
    "fields": items,
    "footer": {
    "text": "",
    "icon_url": "" // Нижний колонтитул с иконочкой
    },
    "image": {
    "url": "" // Большая картинка снизу
    },
    }],
    })
    };
    
    UrlFetchApp.fetch(CHANNEL_1_URL, options);
    UrlFetchApp.fetch(CHANNEL_2_URL, options);
    }
    Ответ написан
    Комментировать