QNext Cases
168 subscribers
3 photos
84 links
Download Telegram
1️⃣2️⃣ Работа с реакцией: ⚡️runScript
Сложность: ⭐️⭐️⭐️

В реакции ⚡️runScript взять значение number профиля пользователя и локальной переменной, все просуммировать и вывести результат.

Например: Есть профиль пользователя тип: number, название: ppNum, значение: 2, локальная переменная тип: Число, название: lvNum, значение: 3. Необходимо: просуммировать эти два значения и к результату прибавить число: 6. Вывести промежуточный и окончательный результат.

Для этого необходимо:
Произвести подготовку:
Создать профиль пользователя:
тип: **number**, __название: ppNum, значение: 2.
Создать локальную переменную: тип: **Число**, __название: lvNum, значение: 3.
❗️ВНИМАНИЕ
Если в реакции: ⚡️runScript есть обращение к профилю пользователя, необходимо перед реакцией: ⚡️runScript использовать реакцию: ⚡️loadProfile.

В ⚡️runScript добавить следующий текст:
var a = +qnext.getValue("profile.ppNum.value", 0);
var b = +qnext.getValue("localVar.lvNum", 0);
var с = a + b;
out.c = c;
var d = с + 6;

В ⚡️message добавить следующий текст:
Промежуточный результат: ${scriptResult.out.c}
Окончательный результат: ${scriptResult.out.return}

Получим результат:
Промежуточный результат: 5
Окончательный результат: 11

#JScript #localVar #profile

Требуется помощь?
1️⃣3️⃣ Вывод размера файла добавленного в Контент.
Сложность: ⭐️

Для вывода в тексте публикации, размера файла добавленного в 📋Контент, необходимо использовать одну из следующих конструкций:

1) Показать размер файла в байтах:
${content.file.fileSize| notFound: 0}

2) Показать размер файла в килобайтах:
!{script| code: (+qnext.getValue("content.file.fileSize", 0) / 1024).toFixed(2); errorText: Error}

3) Показать размер файла в мегабайтах:


Вывод размера файла добавленного в меню.

1) Показать размер файла в байтах:
${content.file.fileSize| notFound: 0}

2) Показать размер файла в килобайтах:
!{script| code: (+qnext.getValue("content.file.fileSize", 0) / 1024).toFixed(2); errorText: Error}

3) Показать размер файла в мегабайтах:
!{script| code: (+qnext.getValue("content.file.fileSize", 0) / 1048576).toFixed(2); errorText: Error}

#macros #content

Требуется помощь?
1️⃣4️⃣ Простой калькулятор.
Сложность: ⭐️⭐️⭐️

Сложение и вычитание целых чисел, не более 3 знаков.

Например: Пользователь отправляет сообщение: 2 плюс 3 или 2 + 3, бот отвечает на сообщение пользователя: Равно: 5. На сообщение: 3 минус 2 или 3 - 2, бот отвечает Равно: 1.

Для этого необходимо:

↙️КомандыСоздать↙️ — Регулярное выражение: /^(\d{1,3})\s([^\s]+)\s(\d{1,3})$/i
(Для работы команды в чате, необходимо: ⚙️Настройки☑️Доступно в чате)

В 🔗Триггер команды добавить три реакции:

⚡️localVarSet — Тип: Строка — Название: Znak — Выражение: ${exec.2}

⚡️message — Текст: Равно: !{script| code: +qnext.getValue("exec.1", 0) - (+qnext.getValue("exec.3", 0)); }Пропустить

🚧ОграниченияДобавить условиеstring — Путь до значения: ${localVar.Znak} — Значение: = — Строка: плюсorstring — Путь до значения: ${localVar.Znak;} — Значение: = — Строка: +

В реакции установить: ☑️replyToMessage
(Для работы реакции в чате, необходимо установить: ☑️Ответить в чате)

⚡️message — Текст: Равно: !{script| code: +qnext.getValue("exec.1", 0) - (+qnext.getValue("exec.3", 0)); }Пропустить

🚧ОграниченияДобавить условиеstring — Путь до значения: ${localVar.Znak} — Значение: = — Строка: минусorstring — Путь до значения: ${LocalVar.Znak} — Значение: = — Строка: -

В реакции установить: ☑️replyToMessage
(Для работы реакции в чате, необходимо установить: ☑️Ответить в чате)

#group #command #Ограничение

Требуется помощь?
QNext Cases pinned a photo
1️⃣5️⃣ Публикация случайного (рандомного) контента.
Сложность: ⭐️
Позволяет публиковать случайный (рандомный) контент.

Для этого необходимо:
Зайти в раздел 📋Контент и создать Каталог.
Далее в созданном 📂каталоге создать 3 📋контента:
- 📋контент 1
- 📋контент 2
- 📋контент 3

Далее, перейти в раздел ↙️Команды и создать команду (к примеру /rand)
И добавить следующие⚡️ реакции:
⚡️loadRandomContent и указать созданный ранее 📂каталог
⚡️sendContent - пропустить.

#random

Требуется помощь?
1️⃣6️⃣ Премирование пользователей в чате (увеличение рейтинга).
Сложность:⭐️⭐️

Позволяет премировать пользователей чата, на сообщения которых, ответили сообщением в котором присутствует эмодзи: 👍 или слова: спасибо или благодарю.

Для этого необходимо:
💼Переменные🆎Профиль👥-Участники чатаСоздать — Название профиля: Rating — тип профиля: Число

Создать↙️Команду с ⚛️регулярным выражением:
 /👍|спасибо|благодарю/i

⚙️Настройки команды — включить: ☑️Доступно в чате и выключить: ⬜️Доступно в привате

🔗Триггер команды — 🚧Ограничения: [isReplyMessage]

В 🔗Триггер команды добавить 4 реакции:

⚡️takeReplyUser

⚡️return
🚧Ограничения: [isAuthor]

⚡️ profileAdd 🆎Rating = 1

⚡️ localVarSet — тип: Число — Название: Rating — Значение: !{profile|name: Rating; sourceType: chatMember; }

⚡️ localVarSet — Тип: Строка — Название: targetUser — Значение: !{user|path: targetUser; }

⚡️sendMessage Текст: (произвольный) для примера выбран следующий:
🌟 !{user} повысил репутацию ${localVar.targetUser}
Теперь репутация ${localVar.targetUser} составляет: ${localVar.Rating}
⭐️
В настройках реакции включить: ☑️Ответить в чате

❗️Внимание!
Команда будет работать в тех группах, которые добавлены в бот (/main меню: 👥Чаты/Каналы) и в ⚙️Настройках которых включен: ☑️[activeInGroup]

#profile #isAuthor #isReplyMessage

Требуется помощь?
1️⃣7️⃣ Телеграм клавиатуры.
Сложность: ⭐️⭐️

Позволяет создать кнопки под полем для ввода текста для пользователей.

Для этого необходимо:

🕹Меню - Создать🕹 - ввести название и текст (можно совершенно любой)
Добавить кнопку - (прим. название: кнопка 1; текст: текст 1)
Добавить кнопку - (прим. название: кнопка 2; текст: текст 2)
Добавить кнопку - (прим. название: кнопка 3; текст: текст 3)

⌨️Клавиатура - Создать⌨️ - ввести название - выбрать ранее созданное 🕹меню
⚙️Настройки клавиатуры - ☑️Маленькая клавиатура

↙️Команды - Создать↙️ - /keyboard
В 🔗Триггер команды добавить реакцию:
⚡️ keyboardShow - выбрать ранее созданную ⌨️клавиатуру.

#keyboard

Требуется помощь?
1️⃣8️⃣ Предупреждение пользователей.
Сложность: ⭐️⭐️

Например: Предупреждение пользователей с последующим ограничением

Для этого необходимо:

💼Переменные🆎Профиль👥Участники чатаСоздать — Название профиля: warn — тип профиля: Число


↙️КомандыСоздать↙️ — Команда: /^\/warn$/i
🚧
ОграниченияДобавить условие isChatAdmin — Выберите значение: andisReplyMessage — Выберите значение:

🔗Триггер команды добавить следующие реакции:

⚡️takeReplyUser
⚡️ localVarSet — Тип: Строка — Название: user — Значение: !{user|path: targetUser; }

groupReactions — Предупреждение
🚧ОграниченияДобавить условие profileValue👥Участники чата — Выберите тип: 🆎warn — Выберите значение: < — Напишите значение для проверки: 3
⚡️takeChat${chat.id}

— —⚡️ profileAdd (🆎warn) = 1

— — ⚡️ localVarSet — Тип: Число — Название: value — Значение !{profile| name: warn; sourceType: chatMember; }

— —⚡️ sendMessage— Текст: Пользователь ${localVar.user} получил предупреждение.
Это его ${localVar.value}/3) предупреждение.

groupReactions — Наказание
🚧ОграниченияДобавить условие profileValue👥Участники чата — Выберите тип: 🆎warn — Выберите значение: = — Напишите значение для проверки: 3
⚡️takeChat${chat.id}
Выбираем нужные вам реакции
______________________________________________
— — ⚡️ kickChatMember - удаление пользователя из чата.
или
— —⚡️ restrictChatMember - ограничение разрешений пользователя.
________________________________________________
— —⚡️ sendMessage— Текст: Пользователь ${localVar.user} ограничен.
— —⚡️ profileSet (🆎warn) = 0

#profile #warn

Требуется помощь?
👍1
1️⃣9️⃣ Команда start для пользователей бота.
Сложность: ⭐️⭐️
Позволяет настроить команду и реакции при запуске бота пользователями.

Для этого необходимо:

↙️Команды - Создать↙️ - /start
В 🔗Триггер команды добавить реакции на выбор:
————————————————-
⚡️message
or
⚡️sendContent
or
⚡️sendMenu

#start

Требуется помощь?
Устарело. Рекомендуем использовать:
4️⃣5️⃣ Универсальная капча.

2️⃣0️⃣ Капча в чате
Сложность
: ⭐️⭐️
Думаю тут описание излишне, хехе 😜

Для этого необходимо:

👥Чаты/Каналы — выбрать 👥чат — ⚙️настройки — ☑️activeInGroup.

📋Контент — Создать📋🆕новый
— Вводим текст приветствия:
Приветствуем, ${user.name}!

${user.id}

🆗Кнопки - Добавить кнопку - callback - вводим текст кнопки.
— Выберем кнопку - Триггер Кнопки — ⚡️реакции
⚡️restrictChatMember - пропустить.
🚧 string ${update.callback_query.message.text}☑️${user.id}
— Выбираем строки, которые будут разрешены новому участнику чата.

- CanSendMessages - разрешить писать в чате
- CanSendMedia - разрешить отправлять Медиа
- CanSendPolls - разрешить отправлять опросы
- CanSendOtherMessage - разрешить отправлять стикеры и гиф
- CanAddWebPagePreviews - предпросмотр для ссылок (превью)
- CanChangeInfo - разрешить изменять профиль группы
- CanInviteUsers - разрешить добавлять участников
- CanPinMessages - разрешить закреплять сообщения

⚡️deleteMessage
Ограничение:
string ${update.callback_query.message.text}☑️${
user.id}
— Главное меню - чаты/каналы - выбрать чат - триггер Новый участник.
— Добавляем реакции:
⚡️restrictChatMember + Открываем реакцию и убираем все галочки.
⚡️
SendContent + ответить в чате.

#capcha

Требуется помощь?
2️⃣1️⃣ Скрытое ветвление поля branch в Форме.
Сложность: ⭐️⭐️⭐️

В 🗄Форме, в настройках поля 🔀branch опция: ☑️Скрытое ветвление позволит не отображать пользователю кнопки поля. При переходе на это поле, произойдет автоматический выбор первой кнопки, которая удовлетворяет условиям ограничений, уставленным в настройках этой кнопки. (См. https://t.me/ZCanal/299)

Например: Создать форму, при заполнении которой пользователь указывает свой возраст и в зависимости от ответа автоматически выбрать необходимую ветку поля branch. Если до 18 – попросить прислать стикер, если 18 и больше – попросить прислать фото.

Для этого необходимо:

🗄ФормыСоздать🗄 — Техническое название: FormBranch — Заголовок: Пропустить

📋ПоляДобавить — Тип поля: 🔢number — Название поля: Age — Текст поля: Сколько вам лет? — Файл: Пропустить

Добавить — Тип поля: 🔀branch — Название поля: Choice — Текст поля: Пропустить — Файл: Пропустить
⚙️Настройки☑️Скрытое ветвление

В поле: 🔀Choice добавить первую кнопку:

Добавить кнопку — Название: До 18 — Описание: Пропустить
⚙️Настройки кнопки🚧Ограничения кнопкиДобавить условиеnumber — Путь до значения: ${fieldValue.number} — Значение: < — Число: 18

В первую кнопку: 🆗До 18
📋ПоляДобавить — Тип поля: 👻sticker — Название поля: Sticker — Текст поля: Отправьте стикер. — Файл: Пропустить

В поле: Choice добавить вторую кнопку:

Добавить кнопку — Название: 18+ — Описание: Пропустить
⚙️Настройки кнопки🚧Ограничения кнопкиДобавить условиеnumber — Путь до значения: ${fieldValue.number} — Значение: > — Число: 17

Во вторую кнопку: 🆗18+
📋ПоляДобавить — Тип поля: 🖼image — Название поля: Photo — Текст поля: Отправьте фото. — Файл: Пропустить

Для начала заполнения формы, необходимо использовать реакцию: ⚡️formStart
Для вывода результата заполненой формы, необходимо использовать реакцию: ⚡️formResult

#formResult #branch

Требуется помощь?
👍1
2️⃣2️⃣ Выбор языка общения с ботом.
Сложность: ⭐️⭐️⭐️

Предоставление возможности пользователю бота, выбрать язык общения с ботом.

Например: Предоставить пользователю возможность, при первом запуске бота, выбрать один из трех языков общения с ботом. (Всего доступно 8 языков).

Для этого необходимо:

В своем боте, создать три меню на трёх языках. Для примера, в боте @Qnext_Examplebot используются следующие названия меню:
1. 🕹StartMenuRU – меню на русском языке.
2. 🕹StartMenuEN – меню на английском языке.
3. 🕹StartMenuUA – меню на украинском языке.

🕹МенюСоздать🕹 — Название: Lang — Текст для раздела меню:
🇷🇺 Выберите язык
🇬🇧 Choose language
🇺🇦 Оберіть мову

Добавить кнопкуcallback — Название: 🇷🇺Пропустить

В 🔗Триггер раздела добавить две реакции:

⚡️setUserLanguage — Выбрать: 🇷🇺

⚡️sendMenu 🕹StartMenuRUВыбрать этот раздел
Установить: ☑️Редактировать на месте

Добавить кнопкуcallback — Название: 🇬🇧Пропустить

В 🔗Триггер раздела добавить две реакции:

⚡️setUserLanguage — Выбрать: 🇬🇧

⚡️sendMenu 🕹StartMenuENВыбрать этот раздел
Установить: ☑️Редактировать на месте

Добавить кнопкуcallback — Название: 🇺🇦Пропустить

В 🔗Триггер раздела добавить две реакции:

⚡️setUserLanguage — Выбрать: 🇺🇦

⚡️sendMenu🕹StartMenuUAВыбрать этот раздел
Установить: ☑️Редактировать на месте

↙️КомандыСоздать↙️ — Команда: /start

В 🔗Триггер команды добавить семь реакций:

⚡️sendMenu🕹StartMenuRUВыбрать этот раздел
🚧ОграниченияuserLanguage🇷🇺

⚡️sendMenu🕹StartMenuENВыбрать этот раздел
🚧ОграниченияuserLanguage🇬🇧

⚡️sendMenu🕹StartMenuUAВыбрать этот раздел
🚧ОграниченияuserLanguage🇺🇦

⚡️break
🚧ОграниченияuserLanguage🇷🇺

⚡️break
🚧ОграниченияuserLanguage🇬🇧

⚡️break
🚧ОграниченияuserLanguage🇺🇦

⚡️sendMenu🕹LangВыбрать этот раздел

Пример: Смотреть

#language #язык

Требуется помощь?
2️⃣3️⃣ Публикация списка участников группы.
Сложность: ⭐️⭐️⭐️

Создание команды для публикации в группу списка определенных участников группы.

Например: В группе, по команде: !adm создать список из ссылок на всех администраторов группы. Скрыть полученные ссылки под случайно выбранными эмодзи. Опубликовать этот список в группу, в нескольких сообщениях, по две ссылки в одном сообщении.

Для этого необходимо:

↙️КомандыСоздать↙️ — Регулярное выражение: /!adm/i
(Необходимо установить: ⚙️Настройки☑️Доступно в чате)

В 🔗 Триггер команды добавить 11 реакций:

⚡️takeChatAdmins — Выберите чат: 👥Укажите свой чат

В ⚡️takeChatAdmins добавить 3 реакции:

⚡️localVarSet — Тип: Строка — Название: icon — Выражение: !{random| type: text; words: 🙊,😎,🤓,😈,🤠,👻,💀,🎃,🤡,👺,👹,👿,👾,👽,☠️,👶,👨;}

⚡️localVarAdd — Тип: Строка — Название: users — Выражение: !{user| type: link; path: targetUser; text: ${localVar.icon};}

⚡️groupReactions — Название: Счетчик

В ⚡️groupReactions добавить 2 реакции:

⚡️localVarAdd — Тип: Число — Название: index — Значение: 1

⚡️groupReactions — Название: Сброс счетчика

🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.index} — Значение: = — Число: 1

В ⚡️groupReactions добавить 3 реакции:

⚡️localVarSet — Тип: Число — Название: index — Значение: 0

⚡️localVarAdd — Тип: Список — Название: usersList — Выражение: ${localVar.users}

⚡️localVarDel — Название: users

⚡️for — Название параметра: ${localVar.usersList}

В ⚡️for добавить 2 реакции:

⚡️takeChat Пропустить

⚡️message — Текст: ${forItem.index}) ${forItem.value}
Установить: ☑️Ответить в чате

#group #command

Требуется помощь?
2️⃣4️⃣ Публикация списка участников 👥Списка пользователей.
Сложность: ⭐️⭐️⭐️

Создание команды для публикации в группу списка участников 👥Списка пользователей с выводом значения 🆎Профиля 👤Пользователя больше 0.
❗️Ограничение: В списке могут состоять не более 100 пользователей.

Например: В группе, по команде: !rating создать и опубликовать список пользователей, у которых профиль пользователя Rating больше нуля.

Для этого необходимо:

Иметь ранее созданный 🆎Профиль 👤Пользователя c именем: Rating и ранее установленными значениями.

↙️КомандыСоздать↙️ — Регулярное выражение: /!rating/i
(Необходимо установить: ⚙️Настройки☑️Доступно в чате)

В 🔗 Триггер команды добавить три реакций:

⚡️takeUserList — Выберите список: 👥Укажите свой список

⚡️localVarAdd — Тип: Строка — Название: userList — Значение: !{html| type: br; }${targetUser.name} - !{profile| name: Rating; sourceType: user; path: targetUser; defaultValue: 0}
🚧ОграниченияДобавить условиеprofileValue — Выберите тип: 👤Пользователи — Условие: 🆎Rating — Значение: > — Число: 0

⚡️message — Текст: Рейтинг участников${localVar.userList} — Файл: Пропустить
Установить: ☑️Ответить в чате

#profile #localVar

Требуется помощь?
👏1
2️⃣5️⃣ Публикация сообщения в чат на 24 часа.
Сложность: ⭐️ ⭐️ ⭐️ ⭐️ ⭐️

Создание команды, для публикации в группу сообщения и удаление этого сообщения через указанное время, до 48 часов.

Например: В группе, по команде: /msg24 публикуется сообщение, которое будет удалено через 24 часа.

Для этого необходимо:

⚙️Настройки бота🆎Профиль👥Чаты/КаналыСоздать🆎 — Название: idMsg — Тип: number

↙️КомандыСоздать↙️ — Команда: /msg24
(Для работы команды в чате, необходимо установить: ⚙️Настройки☑️Доступно в чате)

В 🔗Триггер команды добавить четыре реакций:

⚡️takeChat — Выберите чат: 👥Укажите свой чат

⚡️message — Текст: Это сообщение будет удалено через 24 часа. — Файл: Пропустить
Установить: ☑️Ответить в чате

⚡️profileSet👥Чаты/Каналы🆎idMsg — Значение: ${reactionResult.response.message_id}

⚡️userActionStart
Создать новое отложенное действие — Тип: Относительное время — Длительность: 1д. — Название: msg24

В 🔗Триггер ОД: msg24 добавить три реакции:

⚡️takeChat — Выберите чат: 👥Укажите свой чат

⚡️loadProfile — Выбрать: 🔘👥Чаты/Каналы

⚡️deleteMessage — Id сообщения: ${profile.idMsg.value}
(Установить: ☑️Ответить в чате)

#group #command #delayedActions #ОД

Требуется помощь?
2️⃣6️⃣ Публикация сообщения в чат по расписанию.
Сложность: ⭐️ ⭐️ ⭐️ ⭐️ ⭐️

Публикации в группу сообщения и удаление этого сообщения по расписанию, через указанное время, до 48 часов.

Например: В группе, по расписанию публикуется сообщение, которое будет удалено через 24 часа и опубликовано новое сообщение.

Для этого необходимо:

⚙️Настройки бота🆎Профиль👥Чаты/КаналыСоздать🆎 — Название: idMsg — Тип: number

📅Расписание📅Общие расписанияСоздать📅 — Название: Msg24 — Дата старта: Завтра — Время старта: 🕐Текущее время — Частота повтора: Каждый день — Период повторения: 1 — Дата завершения: Пропустить

В 🔗Триггер ОР: 📅Msg24 добавить пять реакций:

⚡️takeChat — Выберите чат: 👥Укажите свой чат

⚡️loadProfile — Выбрать: 🔘👥Чаты/Каналы

⚡️deleteMessage — Id сообщения: ${profile.idMsg.value}
(Установить: ☑️Ответить в чате)

⚡️message — Текст: Это сообщение будет удалено через 24 часа. — Файл: Пропустить
Установить: ☑️Ответить в чате

⚡️profileSet👥Чаты/Каналы🆎idMsg — Значение: ${reactionResult.response.message_id}

#group #profile #schedule

Требуется помощь?
2️⃣7️⃣ Эмодзи игра с ботом в чате.
Сложность: ⭐️⭐️⭐️⭐️

Публикация в группу игрового эмодзи и получение ответа от бота с аналогичным игровым эмодзи с выводом результата игры.

Например: Пользователь публикует в группу, одно из доступных игровых эмодзи и получает ответ от бота с аналогичным эмодзи. После завершения анимации эмодзи, бот публикует результаты игры.
Список доступных игровых эмодзи:
1) 🎲 Игральная кость;
2) 🎯 Дартс;
3) 🏀 Баскетбол;
4) ⚽️ Футбол;
5) 🎰 Игровой автомат;
6) 🎳 Боулинг.

Для этого необходимо:
↙️КомандыСоздать↙️🟠Любое Сообщение🔴Кости
(Для работы команды в чате, необходимо установить: ⚙️Настройки☑️Доступно в чате)

В 🔗Триггер команды добавить 17 реакций:

⚡️localVarSet — Тип: Число — Название: userID — Значение: ${update.message.from.id}

⚡️ takeUsers — Выражение для поиска: ${localVar.userID}

⚡️restrictChatMember — Выберите чат: Пропустить

⚡️localVarSet — Тип: Число — Название: game — Значение: ${diceType}

⚡️localVarSet — Тип: Число — Название: userGame — Значение: ${dice.value}

⚡️timeout — Время задержки: 3000

⚡️sendDice — Выбрать эмодзи: 🎲
(Установить: ☑️Ответить в чате)
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.game} — Значение: = — Число: 1

⚡️sendDice — Выбрать эмодзи: 🎯
(Установить: ☑️Ответить в чате)
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.game} — Значение: = — Число: 2

⚡️sendDice — Выбрать эмодзи: 🏀
(Установить: ☑️Ответить в чате)
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.game} — Значение: = — Число: 3

⚡️sendDice — Выбрать эмодзи: ⚽️
(Установить: ☑️Ответить в чате)
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.game} — Значение: = — Число: 4

⚡️sendDice — Выбрать эмодзи: 🎰
(Установить: ☑️Ответить в чате)
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.game} — Значение: = — Число: 5

⚡️sendDice — Выбрать эмодзи: 🎳
(Установить: ☑️Ответить в чате)
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.game} — Значение: = — Число: 6

⚡️localVarSet — Тип: Число — Название: botGame — Значение: ${diceValue}

⚡️timeout — Время задержки: 3000

⚡️takeUsers — Выражение для поиска: ${localVar.userID}

⚡️restrictChatMember — Выберите чат: Пропустить☑️canSendMessages

⚡️message — Текст:
${user.name}, !{script| code: (qnext.getValue("localVar.userGame", 0) > qnext.getValue("localVar.botGame", 0)) ? "Вы выиграли!" : (qnext.getValue("localVar.userGame", 0) < qnext.getValue("localVar.botGame", 0)) ? "Вы проиграли!" : "Ничья!"; errorText: Error}
Ваш результат: ${localVar.userGame}
Результат бота: ${localVar.botGame}
— Файл: Пропустить
(Установить: ☑️Ответить в чате)

#group #macros #command #localVar #ограничение

Требуется помощь?
2️⃣8️⃣ Временное отключение команды в чате, для всех пользователей, после запуска команды одним из пользователей.
Сложность: ⭐️⭐️⭐️

После выполнения команды одним из пользователей, команда на заданное время будет недоступна для выполнения другими пользователями.

Например: Один из участников группы выполняет команду !time, которая выводит сообщение в группу, и в течении одной минуты, ни кто из участников группы не сможет выполнить эту команду.

Для этого необходимо:

👤Люди👤Пользователи👥Списки пользователейСоздать👥 — Название: — Time

📅РасписаниеОтложенные действияСоздать — Тип: Относительное время — Укажите длительность: 01 00 — Название: CommandTime

В 🔗Триггер ОД CommandTime добавить одну реакцию:

⚡️delFromUserList — Выбрать список: 👥Time

↙️КомандыСоздать↙️ — Команда: /^!time$/i
(Для работы команды в чате, необходимо установить: ⚙️Настройки☑️Доступно в чате)

В 🔗Триггер команды добавить пять реакций:

⚡️localVarSet — Тип: Число — Название: CUL — Значение:
(0000 — id списка пользователей 👥Time)

⚡️break
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${localVar.CUL} — Значение: > — Число: 0

⚡️addToUserList — Выбрать список: 👥Time

⚡️userActionStart — Выбрать ОД: ComandTime

⚡️message — Текст: Команда !time будет доступна через 1 минуту. — Файл: Пропустить
(Установить: ☑️Ответить в чате)

#group #command #ОД #delayedActions

Требуется помощь?
2️⃣9️⃣ Отслеживание N сообщений подряд от одного пользователя, длиной менее L символов.
Сложность: ⭐️⭐️⭐️⭐️⭐️

Если сообщения от одного пользователя, длиной менее L символов, публикуются N раз подряд, можно установить необходимое ограничение.
(L - Максимальное количество символов в сообщении. Используем локальную переменную: msgLen)
(N - Количество сообщений подряд от одного пользователя. Используем локальную переменную: msgHow)

Например: Если пользователь опубликует в чат три сообщения подряд, длиной менее десяти символов, тогда нужно его предупредить и ограничить на 1 минуту.

Для этого необходимо:

⚙️Настройки бота🆎Профиль👥Участники чатаСоздать🆎 — Название: msgID — Тип: number

⚙️Настройки бота🆎Профиль👥Участники чатаСоздать🆎 — Название: msgNum — Тип: number

⚙️Настройки бота🔗Триггеры🔗Общие ТриггерыСоздать🔗 — Название: NotManyMessages

В 🔗Триггер общего триггера добавить 8 реакций:

⚡️localVarSet — Тип: Число — Название: msgHow — Значение: 3

⚡️localVarSet — Тип: Число — Название: msgLen — Значение: 10

⚡️loadProfile👥Участники чата

⚡️runScript — Текст:
var msghow = qnext.getValue("localVar.msgHow", 3);
var msglen = qnext.getValue("localVar.msgLen", 10);
var error = 0;
var msg = data.update.message.text;
msg = (msg === undefined) ? '—' : msg;
var msg_len = msg.length;
var msgnum = +qnext.getValue("profile.msgNum", 1);
var msg_id = data.update.message.message_id;
var msgid = +qnext.getValue("profile.msgID", 0) + 1;
if (msg_len <= msglen) {
if (msg_id == msgid) {
msgnum = (msgnum < msghow) ? msgnum + 1 : 1;
} else {
msgnum = 1;
}
if (msgnum == msghow) {
msgnum = 1;
error = 1;
}
} else {
msgnum = 1;
msgid = 0;
}
out.msghow = msghow;
out.msgid = msg_id;
out.msgnum = msgnum;
out.error = error;

⚡️profileSet👥Участники чата🆎msgID — Значение: ${scriptResult.out.msgid}

⚡️profileSet👥Участники чата🆎msgNum — Значение: ${scriptResult.out.msgnum}

⚡️groupReactions — Название: Error
🚧ОграниченияДобавить условиеnumber — Путь до значения: ${scriptResult.out.error} — Значение: = — Число: 1

⚡️message — Текст:
${scriptResult.out.msghow}-е короткое сообщения подряд!
${user.name}, получил ограничение на 1 минуту.
— Файл: Пропустить
(Установить: ☑️Ответить в чате)

⚡️restrictChatMember — Чат: ПропуститьУкажите длительность: 1 минута


↙️КомандыСоздать↙️🟠Любое Сообщение🟠Сообщение
(Для работы команды в чате, необходимо установить: ⚙️Настройки☑️Доступно в чате)

В 🔗Триггер команды добавить одну реакцию:
⚡️runTrigger✏️🔗Выберите общий триггер: NotManyMessages

↙️КомандыСоздать↙️🟠Любое Сообщение🔴Кости
(Для работы команды в чате, необходимо установить: ⚙️Настройки☑️Доступно в чате)

В 🔗Триггер команды добавить одну реакцию:
⚡️runTrigger✏️🔗Выберите общий триггер: NotManyMessages

#command #profile #JScript

Требуется помощь?
👍1
3️⃣0️⃣ Синхронизация значения параметра профиля пользователей со значения параметра профиля администратора.
Сложность: ⭐️⭐️⭐️

По запросу пользователя передается значение параметра профиля от администратора пользователю.

Например: Администратор записывает в свой профиль информацию о своем статусе, а пользователь получает эту информацию по запросу, в случае использования обратной связи.

Для этого необходимо:

⚙️Настройки бота — 🆎Профиль — 👤Пользователи — Создать🆎 — Название: AdminStatus — Тип: text

↙️Команды — Создать↙️ — Регулярное выражение: /!admstat\s(.+)/i

В 🔗Триггер команды добавить одну реакцию:

⚡️profileSet👤Пользователи — 🆎AdminStatus — Значение: ${exec.1}

↙️Команды — Создать↙️ — Команда: /feedback

В 🔗Триггер команды добавить 6 реакций:

⚡️takeUsers — Напишите @username администратора

⚡️loadProfile👤Пользователи

⚡️localVarSet — Тип: Строка — Название: AdmStat — Значение: ${profile.AdminStatus.value}

⚡️profileSet👤Пользователи — 🆎AdminStatus — Значение: ${localVar.AdmStat}

⚡️loadProfile👤Пользователи

⚡️feedback — Текст:
Статус админа: ${profile.AdminStatus.value}
${user.name}, напишите свое сообщение

Работает так:
Админ в своем боте запускает команду:
!admstat Сегодня добрый, отвечу на любой вопрос!

Любой пользователь, запустив команду:
/feedback
получит форму связи с сообщением:
Статус админа: Сегодня добрый, отвечу на любой вопрос!
ИмяПользователя, напишите свое сообщение

#profile #command

Требуется помощь?
3️⃣1️⃣ Загрузка и вывод результата последней заполненной формы.
Сложность: ⭐️⭐️⭐️ (Видео)

По команде, загружается результат последней заполненной формы.

Например: Пользователь заполняет форму, по команде: `/lastform` любой пользователь бота сможет посмотреть результат последней заполненной формы.

Для этого необходимо:
Произвести подготовку:
Создать форму, для примера используем форму FormBranch. Описание создания формы см. по ссылке: https://t.me/QNextCases/134

💼Переменные💼Глобальные переменныеСоздать💼 — Название: FormBranchID — Код переменной: FormBranchID — Значение: 0

В 🔗 Триггер Финиш формы добавить одну реакцию:

⚡️globalVarSet — Переменная: 💼FormBranchID — Значение: ${formData.id}

↙️КомандыСоздать↙️ — Команда: /lastform

В 🔗 Триггер команды добавить две реакции:

⚡️loadFormResult✏️Какие результаты открыть: ${globalVar.FormBranchID}

⚡️message — Текст:
Форма: FormBranch
${formResult.fieldsText}
— Файл: Пропустить

#formResult #globalVariable #command

Требуется помощь?