Задать вопрос
@Jake202054

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

Мне надо чтобы откидывалась гугл форма на 2 канала, без разницы какой ответ
Вот исходный код:

var POST_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(POST_URL, options);
}
  • Вопрос задан
  • 100 просмотров
Подписаться 2 Простой 1 комментарий
Решения вопроса 1
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);
}
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы