QNext Cases
@QNextCases
7️⃣9️⃣ Выдача уникального неповторяющегося ответа.
Сложность: ⭐️ ⭐️
Позволяет выдавать пользователю уникальный неповторяющийся набор ответов.
‼️ Кейс отличается от всех предыдущих, так как объясняет сам концепт реализации задачи. Доработка под свои задачи лежит на ваших плечах. Читайте внимательно и подробно все описания‼️
Для этого нам потребуется:
————————————————
Генерация уникального списка выдачи ответа
��Переменные — Профиль — Пользователи — Создать — Название профиля:
��меню — создать — случайный ответ — произвольное описание.
➕ Добавить кнопку — callback —
��Триггеры — Триггеры Раздела — реакции:
⚡️
⚡️
— ⚡️
— ⚡️
— — ⚡️
��Ограничения — bool — �� —
— — ⚡️
��Ограничения — bool — ✅ —
— ⚡️
————————————————
Выдача ответа пользователю.
‼️ Здесь доступны 2 варианта решения задачи:‼️
1. Упрощенный, но ограниченный суммарно 3900 символов.
2. Расширенный, ограничен только вашей ленью
Упрощенный вариант:
⚡️
(здесь использовано 310 символов)
Расширенный вариант:
⚡️
⚡️
Сложность: ⭐️ ⭐️
Позволяет выдавать пользователю уникальный неповторяющийся набор ответов.
‼️ Кейс отличается от всех предыдущих, так как объясняет сам концепт реализации задачи. Доработка под свои задачи лежит на ваших плечах. Читайте внимательно и подробно все описания‼️
Для этого нам потребуется:
————————————————
Генерация уникального списка выдачи ответа
��Переменные — Профиль — Пользователи — Создать — Название профиля:
randAnswer — тип профиля: объект ��меню — создать — случайный ответ — произвольное описание.
➕ Добавить кнопку — callback —
Обновить — пропустить ��Триггеры — Триггеры Раздела — реакции:
⚡️
localVarSet — Тип: Число — Название: minNum — Значение: 1
⚡️localVarSet — Тип: Число — Название: maxNum — Значение: 11
⚡️localVarSet — Тип: Число — Название: quanNum — Значение: 10 ⚡️ runScript — function getRND(min, max) {
return Math.floor(Math.random() * (max - min)) + min;
}
var minNum = qnext.getValue("localVar.minNum", 0);
var maxNum = qnext.getValue("localVar.maxNum", 0);
var quanNum = qnext.getValue("localVar.quanNum", 0);
var numRes = [];
if ((maxNum - minNum) >= quanNum) {
while (numRes.length < quanNum) {
var rndNum = getRND(minNum, maxNum);
var found = false;
for (var i = 0; i < numRes.length; i++) {
if (numRes[i] === rndNum){
found = true;
break;
}
}
if (!found) { numRes[numRes.length]=rndNum; }
}
} else {
numRes[0] = -1;
}
exports.numRes = numRes;
⚡️profileSet — пользователи — randAnswer — ${localVar.numRes} ⚡️
sendMessage — Текст: Порядок обновлен
———————————————— Выбор ответа из списка для выдачи, и удаление использованного ответа из списка
⚡️ groupReactions — Обработка списка — ⚡️
localVarSet — список — list = !{profile| name: randAnswer; } — ⚡️
for — ${localVar.list} — — ⚡️
localVarAdd — список — list = ${forItem.value} ��Ограничения — bool — �� —
${forItem.first} — — ⚡️
localVarAdd — число — answer = ${forItem.value} ��Ограничения — bool — ✅ —
${forItem.first} — ⚡️
profileSet — пользователи — randAnswer — ${localVar.list} ————————————————
Выдача ответа пользователю.
‼️ Здесь доступны 2 варианта решения задачи:‼️
1. Упрощенный, но ограниченный суммарно 3900 символов.
2. Расширенный, ограничен только вашей ленью
Упрощенный вариант:
⚡️
sendMessage — Текст: Больше цифр нет :( (здесь использовано 310 символов)
Расширенный вариант:
⚡️
sendMessage — Текст: Ответ один
��Ограничения — number — ${localVar.answer} = 1
⚡️ sendMessage — Текст: Ответ два
��Ограничения — number — ${localVar.answer} = 2 ⚡️
sendMessage — Текст: Ответ три
��Ограничения — number — ${localVar.answer} = 3
👍 1
👎 1
4 1.1K
Обсуждение 0
Обсуждение не доступно в веб-версии. Чтобы написать комментарий, перейдите в приложение Telegram.
Обсудить в Telegram