QNext Cases
168 subscribers
3 photos
84 links
Download Telegram
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

Требуется помощь?
✴️1️⃣ "Исключение" в bot.api

Телеграм не добавил в bot.api такой термин, как "Исключить", т.о. бот не может исключить участника чата. Соответственно, все что может бот - это забанить юзера.
Но, нам бывает это не нужно.
Что можно сделать?
У нас есть 2 варианта решения этой проблемы:

1. Забанить и потом разбанить:

⚡️kickChatMember
⚡️restrictChatMember


2. Забанить на 60 секунд:

⚡️kickChatMember на 60 секунд.

#Полезное
✴️2️⃣ Ограничение profileValue

✔️ - в профиле есть данные (любые)
✖️ - в профиле нет данных (пустой/отсутствует)
= - профиль равен значению
≠ - профиль не равен значению
< - профиль меньше заданного значения
> - профиль больше заданного значения

#useful #profile
✴️3️⃣ Проверка условий строки

Значения:

= - строка в параметре полностью совпадает с указанным выражением.

≠ - строка в параметре полностью отличается от указанного выражения.

☑️ - в строке параметра присутствует указанное выражение.

◻️ - в строке параметра отсутствует указанное выражение.

На практике:
«У Толика есть зелёный мотоцикл»

= У Толика есть зелёный мотоцикл

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

☑️ зелёный

⬜️ красном

#useful #string
3️⃣2️⃣ Публикация сообщения в чат на 5 секунд.
Сложность: ⭐️ ⭐️ ⭐️ ⭐️ ⭐️

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

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

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

❗️Скрытый контент, доступ по кнопке.

#group #command #localVar

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

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

Например: Пользователь подает команду: !numberToString 123, бот отвечает сообщением: 1️⃣2️⃣3️⃣.

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

↙️КомандыСоздать↙️ — Команда: /!numberToString\s(\d+)/i

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

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

⚡️runScript — Текст:
var strNum = String(qnext.getValue("localVar.parNum", "0"));
var strNew = strNum.replace(new RegExp("0", "g"), "0️⃣");
strNew = strNew.replace(new RegExp("1", "g"), "1️⃣");
strNew = strNew.replace(new RegExp("2", "g"), "2️⃣");
strNew = strNew.replace(new RegExp("3", "g"), "3️⃣");
strNew = strNew.replace(new RegExp("4", "g"), "4️⃣");
strNew = strNew.replace(new RegExp("5", "g"), "5️⃣");
strNew = strNew.replace(new RegExp("6", "g"), "6️⃣");
strNew = strNew.replace(new RegExp("7", "g"), "7️⃣");
strNew = strNew.replace(new RegExp("8", "g"), "8️⃣");
out.strNew = strNew.replace(new RegExp("9", "g"), "9️⃣");

⚡️message — Текст: ${scriptResult.out.strNew} — Файл: Пропустить

#command #JScript #localVar

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

По команде, поданной пользователем, обрабатывается текстовый параметр команды и преобразуется в число, соответствующее цифровым эмодзи переданным в параметре команды.
Если в параметре команды указаны не цифровые эмодзи, команда вернет 0.

Например: Пользователь подает команду: !stringToNumber 1️⃣2️⃣3️⃣, бот отвечает сообщением: 123.

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

↙️КомандыСоздать↙️ — Команда: /!stringToNumber\s(.+)/i

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

⚡️localVarSet — Тип: Строка — Название: parNum — Значение: ${exec.1}

⚡️runScript — Текст:
var strNum = String(qnext.getValue("localVar.parNum", "0"));
var strNew = strNum.replace(new RegExp("0️⃣", "g"), "0");
strNew = strNew.replace(new RegExp("1️⃣", "g"), "1");
strNew = strNew.replace(new RegExp("2️⃣", "g"), "2");
strNew = strNew.replace(new RegExp("3️⃣", "g"), "3");
strNew = strNew.replace(new RegExp("4️⃣", "g"), "4");
strNew = strNew.replace(new RegExp("5️⃣", "g"), "5");
strNew = strNew.replace(new RegExp("6️⃣", "g"), "6");
strNew = strNew.replace(new RegExp("7️⃣", "g"), "7");
strNew = strNew.replace(new RegExp("8️⃣", "g"), "8");
strNew = strNew.replace(new RegExp("9️⃣", "g"), "9");
out.numNew = (isNaN(Number(strNew))) ? 0 : Number(strNew);

⚡️message — Текст: ${scriptResult.out.numNew} — Файл: Пропустить

#command #JScript #localVar

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