Чат-Антифлуд
Материал из wiki-MyMakerBot
Реакция в чате[править]
Данная команда реагирует на повторяющиеся сообщения пользователей
Размещение в конструкторе[править]
Контроллер: group_msg
Экшн: flood
Исходный код[править]
{db_form name='chat_flood' idx=$group_chat_id}
{* INIT *}
{if (
(!isset($chat_flood['last_user']) || $chat_flood['last_user'] !== $user_id) ||
(isset($chat_flood['last_user']) && $chat_flood['last_user'] !== $user_id) ||
(isset($chat_flood['last_user']) && $chat_flood['last_user'] == $user_id && $chat_flood['time'] < time()-15)
)}
{db_save name='chat_flood' idx=$group_chat_id data=['group_chat_id'=>$group_chat_id, 'last_user'=>$user_id, 'cnt'=>1, 'time'=>time()]}
{db_form name='chat_flood' idx=$group_chat_id}
{/if}
{* FLOOD *}
{if (isset($chat_flood['last_user']) && $chat_flood['last_user'] == $user_id && $chat_flood['time'] > time()-15 && mb_strlen($text, 'utf-8') < 20)}
{if ($chat_flood.cnt<4)}
{if ($chat_flood.cnt>2)}
{tg_sendMessage text="@`$user.username`, Астанавись!" reply_to_message_id=$message_id die=10}
{/if}
{$chat_flood.cnt = $chat_flood.cnt+1}
{$chat_flood.time = time()}
{db_save name='chat_flood' idx=$group_chat_id data=$chat_flood}
{else}
{tg_deleteMessage}
{/if}
{/if}