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
Требуется помощь?