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

    Lapita12
    @Lapita12
    Тесты, тесты?
    1. Добавьте к каждому вопросу в гугл форме тэг, например #role_, где id роли - идентификатор роли в дискорде, за которой закреплен вопрос.

    2. В коде скрипта нужно добавить обработку тэгов вопросов и передачу вебхукам нужных ролей для упоминания.
    Можно использовать метод String.includes() для поиска тэгов в ответах пользователя.
    for (var i = 0; i < response.length; i++) {
        const question = response[i].getItem().getTitle(), answer = response[i].getResponse();
        if (answer == "") continue;
        items.push({ "name": question, "value": answer });
    
        if (answer.includes('#role_')) {
            const roleId = answer.split('#role_')[1];
            mention += `<@&${roleId}> `;
        }

    Здесь мы проверяем, содержится ли в ответе пользователя тэг #role_. Если да, то мы получаем идентификатор роли из ответа и добавляем ее к строке mention для упоминания вебхуком.

    3. В конце функции plainText или embedText добавьте передачу переменной mention в тело POST-запроса
    const text = {
        "method": "post",
        "headers": { "Content-Type": "application/json" },
        "muteHttpExceptions": true,
        "payload": JSON.stringify({
            "content": mention ? mention : '',
            "embeds": [...]
        }),
    };

    Теперь при отправке ответов пользователем на гугл форму будут упомянуты только те роли, которые привязаны к ответам на вопросы с помощью тэгов.
    Ответ написан