tgoop.com/QNextCases/222
Last Update:
7️⃣9️⃣ Выдача уникального неповторяющегося ответа.
Сложность: ⭐️ ⭐️
Позволяет выдавать пользователю уникальный неповторяющийся набор ответов.
‼️ Кейс отличается от всех предыдущих, так как объясняет сам концепт реализации задачи. Доработка под свои задачи лежит на ваших плечах. Читайте внимательно и подробно все описания‼️
Для этого нам потребуется:
————————————————
Генерация уникального списка выдачи ответа
💼Переменные — Профиль — Пользователи — Создать — Название профиля: randAnswer
— тип профиля: объект
🕹меню — создать — случайный ответ — произвольное описание.
➕ Добавить кнопку — callback — Обновить
— пропустить
🔗Триггеры — Триггеры Раздела — реакции:
⚡️localVarSet
— Тип: Число — Название: minNum
— Значение: 1
⚡️localVarSet
— Тип: Число — Название: maxNum
— Значение: 11
— Тип: Число — Название:
⚡️localVarSetquanNum
— Значение: 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
BY QNext Cases
Share with your friend now:
tgoop.com/QNextCases/222