QNext Cases
@QNextCases
3 1.6K
horoscope — Ссылка: https://horoscopes.rambler.ru/api/front/v1/horoscope/today/${localVar.zodiac}/ — Тип: get — Ответ: json Content-Type — application/json horoscope — horoscope — 8 часов.${localVar.zodiac} httpRequest — horoscope dynamicVarSet — ${httpResponse.value} /zodiac (.+)/i
Добавить следующие реакции:localVarSet — znak = !{string|
path: exec.1;
type: toLowerCase;
} localVarSet — zodiac = !{switch|
type: string;
path: localVar.znak;
defaultValue: aries;
case: овен; value: aries;
case: телец; value: taurus;
case: близнецы; value: gemini;
case: рак; value: cancer;
case: лев; value: leo;
case: дева; value: virgo;
case: весы; value: libra;
case: скорпион; value: scorpio;
case: стрелец; value: sagittarius;
case: козерог; value: capricorn;
case: водолей; value: aquarius;
case: рыбы; value: pisces;
}
⚡️ loadDynamicVar — horoscope
⚡️ sendMessage:
Знак: ${dynamicVar.horoscope.sign.name} (${dynamicVar.horoscope.sign.slug})
Гороскоп:
${dynamicVar.horoscope.text}
https://horoscopes.rambler.ru/api/front/v1/horoscope/today/ +elementshttps://horoscopes.rambler.ru/api/front/v1/horoscope/today/ http://api.forismatic.com/api/1.0/?method=getQuote&lang=ru&format=json&json=? horoscope — Ссылка: https://horoscopes.rambler.ru/api/front/v1/horoscope/today/ — Тип: get — Ответ: json Content-Type — application/json /request
Добавить реакции:httpRequest — horoscope sendMessage:${httpResponse.value.text}
———————————————— horoscope — Ссылка: https://horoscopes.rambler.ru/api/front/v1/horoscope/today/+elements — Тип: get — Ответ: json aries / taurus / cancer / leo / virgo / libra / scorpio / sagittarius / capricorn / aquarius / pisces
Параметры — headers — Создать:Content-Type — application/json /request
Добавить реакции:httpRequest — horoscope sendMessage:${httpResponse.value.sign.name}
Гороскоп: ${httpResponse.value.text}
randAnswer — тип профиля: объект Обновить — пропустить 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} ${forItem.first} localVarAdd — число — answer = ${forItem.value} ${forItem.first} profileSet — пользователи — randAnswer — ${localVar.list} sendMessage — Текст: Больше цифр нет :( sendMessage — Текст: Ответ один
��Ограничения — number — ${localVar.answer} = 1
⚡️ sendMessage — Текст: Ответ два
��Ограничения — number — ${localVar.answer} = 2 sendMessage — Текст: Ответ три
��Ограничения — number — ${localVar.answer} = 3
takeChat — ранее созданный нами чатformResult — текст:❗️Новая анкета:
Автор: !{user}
Текст:
${formResult.fieldsText} deleteMessage
⚡️ takeAuthorUser
— ⚡️ sendMessage:Модератор ${user.name} принял вашу заявку
⚡️ takeChat — ранее созданный нами чатformResult — текст:✅ Анкета одобрена администратором !{user}
Текст:
${formResult.fieldsText} deleteMessage
⚡️ takeAuthorUser
— ⚡️ sendMessage:Модератор ${user.name} отклонил вашу заявку
⚡️ takeChat — ранее созданный нами чатformResult — текст:�� Анкета отклонена администратором !{user}
Текст:
${formResult.fieldsText}
msgid — тип профиля: число CapchaCheck — Параметр: Пропустить localVarSet — Строка — Название: key — Значение: [кодовое слово]
⚡️groupReactions — actions
��Ограничения — ➕Добавить условие — string — ${localVar.key} = ${update.message.text}
☑️if-mode — ��✅takeChat — ${chat.id}
— — ⚡️localVarSet — Число — Название: msgid — Значение: ${reactionResult.response.message_id}
— — ⚡️deleteMessage — ID сообщения — ${localVar.msgid} deleteMessage — ID сообщения — ${update.message.message_id}
— —⚡️restrictChatMember — ➖Пропустить — отметить ☑️ разрешения которые выдать участнику takeUsers — ${user.id}
— — ⚡️userActionStop — capcha bindTrigger — ❌ — CapchaCheck sendMessage — Текст: ${user.name} добро пожаловать
☑️if-mode — ���� deleteMessage — ID сообщения — ${update.message.message_id}
☑️Ответить в чате10 00 — Название: capcha capcha — ⚡️ реакции: takeChat — ${chat.id}
banChatMember
— ⚡️deleteMessage — ID сообщения — ${localVar.msgid} groupReactions — joinNewUser
��Ограничения — ➕Добавить условие — regex — рег. выражение: (left|kicked) — значение: ✅ — путь: ${update.chat_member.old_chat_member.status} (member) — значение: ✅ — путь: ${update.chat_member.new_chat_member.status} bindTrigger — ✅ — CapchaCheck
— ⚡️restrictChatMember — Пропустить — отметить ☑️ "Разрешить отправлять сообщения"sendMessage — Текст: Ваше приветствие + [кодовое слово] localVarSet — Число — Название: msgid — Значение: ${reactionResult.response.message_id}
— ⚡️takeUsers — ${user.id} profileAdd — Пользователи — msgid — ${localVar.msgid}
— — ⚡️userActionStart — capcha
takeChat — Пропустить ⏩��Ограничения — ➕Добавить условие: inGroup — Значение: ✅ and string — Путь до значения: ${update.message.from.username} — Значение: = — Строка с чем сравнивать: Channel_Bot
— ⚡️deleteMessage
— ⚡️banChatSenderChat
#ограничение #group
customTitle — тип профиля: Строка voteProfile — Параметр: Пропустить ⚡️ groupReactions — actions
��Ограничения — ➕Добавить условие — bool — Путь: ${update.message.text} — Значение: ✅⚡️ profileSet — Пользователи — customTitle — ${update.message.text}
— ⚡️ voteAdd — voteProfile
— ⚡️ refreshContent — Выбрать контент: voteProfile
— ⚡️ DeleteMessage
— ⚡️ bindTrigger — ❌ ⚡️ alert — Текст: Введите текстvoteProfile — Файл: пропустить — Текст: Статичный текст
!{vote| type: users;
userPrefix: ✔️;
userView: name;
userLink: default;
profileId: 0000;
userTemplate: $user -> $profile;
splitterUser: \n;
} Добавить текст loadVote — voteProfile groupReactions - voteCancel ��Ограничения — ➕Добавить условие — number — Путь до значения: ${vote.result} = 4⚡️voteCancel
⚡️ groupReactions - voteAdd��Ограничения — ➕Добавить условие — number — Путь до значения: ${vote.result} = 0bindTrigger — ✅ — ОТ — voteProfile runTrigger — voteProfile
Требуется помощь?
CT — тип профиля: Строка editText — Параметр: Пропустить ⚡️ groupReactions — actions
��Ограничения — ➕Добавить условие — bool — Путь: ${update.message.text} — Значение: ✅⚡️ takeUsers (юзернейм вашего бота, прим: @Qnext_Examplebot)⚡️ profileAdd — Пользователи - CT — ${update.message.text}!{html| type: br; } ⚡️localVarSet — Строка — Название: text — Значение: !{profile| name: CT; } ⚡️ refreshContent — Выбрать контент: myContent
— ⚡️ bindTrigger — ❌ ⚡️ alert — Текст: Введите текст
��Контент — ➕Создать�� — ��Новый — Тех. название: myContent — Файл: пропустить — Текст: ${localVar.text|notFound: none; }
⚡️ Реакции:⚡️ takeUsers (юзернейм вашего бота, прим: @Qnext_Examplebot)⚡️localVarSet — Строка — Название: text — Значение: !{profile| name: CT; } Добавить текст bindTrigger — ✅ — ОТ — editText runTrigger — editText
Требуется помощь?
/purge отправленной в ответ на любое сообщение в чате, удалить все сообщение которые находятся между этими сообщениями включая и эти сообщения.↙️Команды — ➕Создать↙️ — Команда: /purge
⚙️Настройки — ☑️Доступно в чате⚡️ groupReactions — isReplyMsg
��Ограничения — ➕Добавить условие — isReplyMessage — Значение: ✅localVarSet — Тип: Любой объект — Название: idMsg — Значение: {
"begin": ${update.message.message_id},
"end": ${update.message.reply_to_message.message_id}
}
��json — ☑️Собрать объектrunScript — Текст скрипта:var idMsg = qnext.getValue('localVar.idMsg');
idMsg.end = (idMsg.begin - idMsg.end > 200) ? idMsg.begin - 199 : idMsg.end;
idMsg.list = [];
for (let i = idMsg.begin; i >= idMsg.end; i--) {
idMsg.count = idMsg.list.push(i);
}
exports.idMsg = idMsg;
—⚡️ for — Название параметра: ${localVar.idMsg.list}
— —⚡️ deleteMessage — Id сообщения: ${forItem.value} — ☑️Ответить в чатеdeleteMessage — ☑️Ответить в чате
dynamicMenu — Текст: !{attachment| path: localVar.file; }
${localVar.text|notFound: made by QNext; }
➕Добавить кнопку — Тип: url — Название: ${localVar.name
|notFound: QNext;} — Ссылка: ${localVar.url
|notFound: qnext.app;}
↙️Команды — ➕Добавить↙️ — Текст: /menu ([^,]+), ([^,]+), ([^,]+)$/
��Триггер — ⚡️Реакции — ➕Добавить:localVarSet — Тип: Строка — Название: text — Значение: ${exec.1}
⚡️ localVarSet — Тип: Строка — Название: name — Значение: ${exec.2}
⚡️ localVarSet — Тип: Строка — Название: url — Значение: ${exec.3}
⚡️ groupReactios - file bool — путь до значения: ${update.message.photo} — Значение: ✅localVarSet — Тип: Строка — Название: file.fileId — Значение: ${update.message.photo.0.file_id} localVarSet — Тип: Строка — Название: file.type — Значение: photo sendMenu — dynamicMenu
Требуется помощь?
/^\/request\s(.+)$/i
��Триггер — ⚡️Реакции — ➕Добавить:groupReactions — actions
— ⚡️ localVarSet — Тип: Строка — Название: action.custom — Значение: любой кастомный текст — ☑️ Собрать объектlocalVarSet — Тип: Строка — Название: action.text — Значение: ${exec.1} — ☑️ Собрать объектlocalVarSet — Тип: Число — Название: action.user — Значение: ${user.id} — ☑️ Собрать объект httpRequest — Выбрать HTTP-запрос: Запрос в бота 2 body — Значение: ${localVar.action} takeUsers — ${request.body.body.user}
— ⚡️ sendMessage — Текст: ${request.body.body.user}
${request.body.body.custom}
${request.body.body.text}
#web #webhook
!{user} вы подали заявку на вступление в чат ${update.chat_join_request.chat.title}. Для подтверждения вступления, нажмите на кнопку ниже. ${update.chat_join_request.chat.id} — ☑️��${update.chat_join_request.from.id} — ☑️��takeChat — ${buttonsVar.v1}
— ⚡️ localVarSet — Тип: Строка — Название: chatTitle — Значение: ${targetChat.title} sendMessage — Текст: !{user} вступил в чат ⚡️ approveChatJoinRequest — Чаты: ${buttonsVar.v1} — Пользователь: ${buttonsVar.v2}
⚡️ sendMessage — Текст: !{user} Добро пожаловать в чат ${localVar.chatTitle}
��Чаты/Каналы — Выбираем нужный чат — копируем ID (пример: -1001153029287)⚡️ groupReactions — actions
��Ограничения — ➕Добавить условие — bool — Путь до значения: ${update.chat_join_request.invite_link} — Значение: ✅number — Путь до значения: chat.id — Значение: = — ID вашего чатаtakeUsers — ${update.chat_join_request.from.id} sendMenu — Капча
Требуется помощь?
⚡️localVarSet — Тип: Число — Название: rand — Значение: !{random|
type: number;
min: 1;
max: 3;
} ⚡️sendMessage — Текст: !{switch|
type: number;
path: localVar.rand;
defaultValue: Не известно;
case: 1; value: Одно очко;
case: 2; value: Два очка;
case: 3; value: Три очка;
}
Подробнее о макросе random можно прочитать тут:
↙️ — Регулярное выражение: /^@admin$/i
(Установить: ⚙️Настройки — ☑️ Доступно в чате)⚡️ takeChat — ➖ Пропустить — ⚡️takeChatAdmins — ➖ Пропустить ⚡️localVarAdd — Тип: Список — Название: userList — Значение: !{user| type: link; path: targetUser; encode; }
��Ограничения — ➕Добавить условие — bool — Укажите путь до значения: ${targetUser.isBot} — Значение: ��— ⚡️sendMessage — Текст: ${localVar.userList|notFound: text;} — Файл: ➖Пропустить
Points и ранее установленными значениями./^(!|/)(top|топ)$/i
(Установить: ⚙️Настройки — ☑️ Доступно в чате)takeChat — ➖ Пропустить findProfileValue — ��Пользователи — ��Points — Значение: >= — Выражение для записи параметра: 1for — Название параметра: ${findValues}
— — ⚡️takeUsers — Пользователь: ${forItem.value.userId}
— — — ⚡️localVarAdd — Тип: Список — Название: rating — Значение: !{html| type: br;}${forItem.num}. ${targetUser.name|encode;} — ${forItem.value.value} ��
— ⚡️sendMessage — Текст: ${localVar.rating|notFound: text;} — Файл: ➖Пропустить
sort.qantStr
Например: В группе, по команде: !ratings создать и опубликовать список пользователей, у которых профиль пользователя rating больше нуля.rating и ранее установленными значениями.sortList — Ссылка: https://qnext.app/bin/webhooks/3428/334/AqPMFyFmMr9IqyLD — Тип: post — Формат ответа: jsonsort — Значение параметра: ${localVar.sort}
��Параметры — headers — ➕Создать — Ключ параметра: Content-Type — Значение параметра: application/json
↙️Команды — ➕Создать↙️ — Регулярное выражение: /!ratings/i
(Установить: ⚙️Настройки — ☑️ Доступно в чате)localVarSet — Тип: Число — Название: sort.qantStr — Значение: 10 — ☑️ Собрать объектlocalVarSet — Тип: Любой объект — Название: sort.bot — Значение: {
"creatorId": ${bot.creatorId},
"ownerId": ${bot.ownerId},
"userId": ${bot.userId},
"username": "${bot.username}"
} — �� json — ☑️ Собрать объектtakeUserList — Выберите список пользователей: ��Укажите свой списокlocalVarAdd — Тип: Список — Название: sort.listName — Значение: ${targetUser.name} — ☑️ Собрать объектlocalVarAdd — Тип: Список — Название: sort.listNum — Значение: !{profile| name: rating; sourceType: user; path: targetUser; defaultValue: 0} — ☑️ Собрать объект⚡️httpRequest — Выберите http-запрос: sortListsendMessage — Текст: Рейтинг участников: ${httpResponse.value.sortStr} — Файл: ➖Пропустить
random — Код переменной: text — Значение: текст1
текст2
текст3
↙️Команды — ➕Создать↙️ — Команда: /random
В ��Триггер команды добавить следующие реакции:loadGlobalVariable
⚡️runScript — Текст скрипта:function getRandomNum(min, max) {
min = Math.ceil(min);
max = Math.floor(max);
return Math.floor(Math.random() * (max - min)) + min;
}
var globVar = qnext.getValue('globalVar.text','');
var array = globVar.split(qnext.constants.NewLine);
var text = getRandomNum(0, array.length);
exports.word = array[text];
⚡️ sendMessage — Текст:${localVar.word} — Файл: ➖Пропустить
↙️Команды — ➕Создать↙️ — Команда: /statistics
��Ограничения — ➕Добавить условие — isAdmin — Выберите значение: ✅sendMessage — Текст:��Статистика
Всего пользователей: !{usersCount| type: all;}
Пользователь запустил бота в привате: !{usersCount| type: all; status: started;}
Пользователь заблокировал бота: !{usersCount| type: all; status: blocked;}
Аккаунт пользователя удален Телеграмом: !{usersCount| type: all; status: deleted;} — Файл: ➖ПропуститьПлатформа использует файлы cookie для авторизации и сохранения настроек. Продолжая работу, вы соглашаетесь с нашей Политикой использования cookie.