Можно ли настроить отправку Google Формы так, чтобы в результате упоминалась одна из двух ролей в Discord?

Как сделать так, чтобы при заполнении Google формы у пользователя был выбор, например, между несколькими вариантами?
  • 11 декабря 2024 г. 17:13
Ответы на вопрос 1
Да, можно настроить Google Форму таким образом, чтобы после заполнения формы упоминалась одна из двух ролей в Discord, но для этого потребуется использовать дополнительный инструмент, например, Google Apps Script, а также Discord Webhook. 

Вот шаги, которые помогут вам реализовать это:

### 1. Создание Google Формы

1. Перейдите в [Google Формы](https://forms.google.com) и создайте новую форму.
2. Добавьте вопрос с выбором (например, "Выберите роль") и задайте несколько вариантов (например, "Роль 1", "Роль 2").
3. Добавьте другие вопросы по вашему усмотрению.

### 2. Получение ссылки на Discord Webhook

1. В Discord перейдите в сервер, на который вы хотите отправлять сообщения.
2. Нажмите на "Настройки канала" для текстового канала, в который хотите отправлять уведомления.
3. Выберите "Интеграции" -> "Webhooks" -> "Создать Webhook". Сохраните URL вашего Webhook.

### 3. Настройка Google Apps Script

1. В Google Формах, нажмите на три точки в верхнем правом углу и выберите "Редактировать скрипт".
2. Удалите весь код в редакторе и вставьте следующий код, изменив URL на ваш Discord Webhook:

```javascript
function onFormSubmit(e) {
  var responses = e.values;
  var role = responses[1]; // измените на индекс ответа в ресурсе

  var webhookUrl = 'ВАШ_DISCORD_WEBHOOK_URL';
  var message = '';

  if (role === 'Роль 1') {
    message = '<@&ID_Роли_1>'; // Упоминание роли 1
  } else if (role === 'Роль 2') {
    message = '<@&ID_Роли_2>'; // Упоминание роли 2
  }

  var payload = JSON.stringify({
    content: message,
    username: 'Google Форма'
  });

  var options = {
    method: 'post',
    contentType: 'application/json',
    payload: payload
  };

  UrlFetchApp.fetch(webhookUrl, options);
}

function setupTrigger() {
  ScriptApp.newTrigger('onFormSubmit')
      .forForm(FormApp.getActiveForm())
      .onFormSubmit()
      .create();
}
```

3. Замените `ВАШ_DISCORD_WEBHOOK_URL` на URL вашего Discord Webhook.
4. Замените `ID_Роли_1` и `ID_Роли_2` на ID ролей в Discord (вы можете получить их, включив режим разработчика в Discord и кликнув правой кнопкой на роли).
5. Сохраните и выполните функцию `setupTrigger`, чтобы установить триггер, который будет вызывать вашу функцию при отправке формы.

### 4. Тестирование

Заполните вашу Google Форму и проверьте, отправляется ли сообщение в Discord с упоминанием нужной роли.

Теперь вы имеете настроенную Google Форму, которая отправляет уведомления в Discord с упоминанием выбранной роли.
Похожие вопросы