Версия для печати темы

Нажмите сюда для просмотра этой темы в обычном формате

MyDC.ru _ Безопасность [PtokaX] _ Checker

Автор: Wariner 26.6.2009, 14:14

Название скрипта: Checker
Версия скрипта: 1.0 RC1
Версия API: API2
Автор: Wariner
Возможности:
v 1.0 RC1
- Сканит чат и приват и сообщает о подозрительных фразах администратору

 Checker.lua ( 1.26 килобайт ) : 607
 

Автор: Otshelnik-Fm 27.6.2009, 2:36

а такие не запрещены скрипты??

Автор: Setuper 27.6.2009, 19:33

А что тут запрещённого? Тут простой фильтр. На таком же фильтре основаны все антирекламы и антиматы.

Автор: King 27.6.2009, 23:37

Ну типа сканит приват, можно переделать под скрипт логирования личек бла бла бла. Тут к этому настолько трепетно относятся..

Автор: Setuper 27.6.2009, 23:45

Данный скрипт нельзя переделать. Если ты знаешь как это сделать, то ты сможешь обойтись и без этого скрипта.

И не надо больше оффтопить))

Автор: Goblin 29.6.2009, 13:34

Сделайте 2 версию этого скрипта только с функциями

Что разрешаем.

Сообщение от бота хаба.

тип наказания:
0 - перманентный бан по нику и IP
1 - временный бан по нику и IP. время задается в BanTime
2 - кик
3 - только сообщает о подозрительных фразах админам и операторам. ( Пользователь сообщения не получает )

Сообщение не пропускается. ( для нарушителя показывает, что сообщение дошло )

Автор: Wariner 29.6.2009, 19:10

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

Автор: Goblin 30.6.2009, 14:38

Цитата(Wariner @ 29.6.2009, 22:10) *
это скрипт именно для того чтобы видеть то что возможно пропустила антиреклама! ене надо накручивать в него сторонние функции!

Я прошу сделать 2 версию. Сделай пожалуйста мне сильно надо такой скрипт.

Автор: Артём 28.7.2009, 16:00

Цитата(Wariner @ 29.6.2009, 19:10) *
это скрипт именно для того чтобы видеть то что возможно пропустила антиреклама! ене надо накручивать в него сторонние функции!

bad_smile.gif этот скрипт реагирует даже на .... тобишь на 4точки

Автор: Wariner 28.7.2009, 17:02

этот скрипт реагирует на выражения которые написаны в таблице. если руки не оттуда и настроили не так то я не виноват!

Автор: Артём 24.9.2009, 22:28

Цитата(Wariner @ 28.7.2009, 17:02) *
если руки не оттуда

Руки как и у всех.... сам посмотри...запусти скрипт и напеши в чате ....
Цитата
и настроили не так то я не виноват!

Настройки стандарт тобиш твои .
P.S.Нечерта не трогал в скрипте,просто запустил и написал 4 точки
Цитата
[22:25:38] <Артём2й> ....

Цитата
[22:25:39] <ОпЧат> *** Юзер Артём2й сказал подозрительную фразу: ....

Автор: Goblin 25.9.2009, 18:24

Подскажите, как сделать, чтобы сообщения приходили определенным никам. Т.е.
local nick = {
"admin",
}

Автор: Артём 26.9.2009, 2:33

Код
Nick = "Артём" --кому будет отсылать попытки спамеров


и


Код
Core.SendPmToNick(Nick, sBot," *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg)

Автор: Артём 28.10.2009, 19:03

Цитата(Артём @ 28.7.2009, 15:00) *
bad_smile.gif этот скрипт реагирует даже на .... тобишь на 4точки

Wariner этот косяк как-то будет решён?

Автор: Wariner 28.10.2009, 19:12

я щас начну ругаться матом!!! в скрипте который лежит в первом посте приведена простейшая маска, измени её почитав вот эту тему http://mydc.ru/topic266.html и всё будет работать!!!
чего не понятного? почему антирекламу ты можешь настроить поменяв слова а тут ты сделать это не в состоянии???

Автор: Enyby 5.11.2009, 1:58

Артём, смени маску на "%d+%.%d+%.%d+%.%d+".

Автор: Артём 5.11.2009, 11:49

Enyby
Я скриптом этим не пользуюсь, но в первом посте можно бы тоже это сменить ... big_smile.gif

Автор: brauzer84 13.2.2010, 6:01

Что-то этот скрипт не выполняется...
Юзал поиск, но что-то не могу найти правильный скрипт который всё таки даёт знать операторам и админу информацию о том что в ЛС пользователю пришла реклама чего либо...будь то хаб или ресурс какой нибудь...если не сложно дайте плз ссылку на ту тему где этот скрипт есть..(если не сложно)...
Заранее благодарен.


Автор: Wariner 13.2.2010, 10:58

что значит скрипт не выполняется?!

Автор: DrakonSP 13.2.2010, 16:15

если в таблицу запрещёных фраз вписать слово "Хаб", то будет ли скрипт реагировать на фразы "хаб" ("хАб", хаБ", ХАБ" и тд.)?

Автор: Wariner 13.2.2010, 17:09

внеси вот так

Код
[Хх][Аа][Бб]
должно сработать!

Автор: DrakonSP 13.2.2010, 18:12

Признаться чесно скрипт вообще не работает!
Ни каких ошибок не выдаёт, и не работает, PtokaX 0.4.1.2

Автор: brauzer84 13.2.2010, 19:39

Цитата(Wariner @ 13.2.2010, 12:58) *
что значит скрипт не выполняется?!


Не выполняется в том смысле, что если писать в личку пользователю например 94.234.456.78 то скрипт не реагирует. и ошибок не выдаёт.
а вот на : [18:14:18] <OpChat> *** Юзер _Br@uZeR_ сказал подозрительную фразу: Artem77: та да...я тож с ним настраивал но в итоге мы таки поездили
реагирует.


Автор: DrakonSP 13.2.2010, 19:52

У меня вообще не пашет!
Ни в общем чате ни в привате!

Автор: Wariner 13.2.2010, 20:23

2DrakonSP: скрипт рабочий если у вас он не работает то это ваши проблемы!
2brauzer84: подбери нужную маску и будет работать!

Автор: FallenAngel 13.2.2010, 21:54

Цитата(DrakonSP @ 13.2.2010, 18:12) *
Признаться чесно скрипт вообще не работает!
Ни каких ошибок не выдаёт, и не работает, PtokaX 0.4.1.2

Попробуй ради интереса на 0.4.1.1..
Просто мало ли-вдруг изза еще новее версии. big_smile.gif
Или попробуй обычную магию-двигай выше/ниже)

Автор: Saymon 13.2.2010, 22:25

Скрипт и на 0.4.1.2 работет отлично, только что протестировал.
[22:22:27] <OПChat> *** Юзер тест сказал подозрительную фразу: 10.128.162.28
Ставим скрипт в самый верх, заходим настройки птоки, "Боты по умолчанию" -->"OpChat"-->"Включить и показывать на хабе"

Всё будет норм.
Если оп чат выключен - скрипт не робит. Это можно и догадаться в скрипте функция Core.SendToOpChat big_smile.gif

Автор: DrakonSP 16.2.2010, 2:55

Цитата(Saymon @ 13.2.2010, 22:25) *
Скрипт и на 0.4.1.2 работет отлично, только что протестировал.
[22:22:27] <OПChat> *** Юзер тест сказал подозрительную фразу: 10.128.162.28
Ставим скрипт в самый верх, заходим настройки птоки, "Боты по умолчанию" -->"OpChat"-->"Включить и показывать на хабе"

Всё будет норм.
Если оп чат выключен - скрипт не робит. Это можно и догадаться в скрипте функция Core.SendToOpChat big_smile.gif

Прикинь в антирекламе тоже используеться эта функция, но там всё работает!
И без включения OpСhat'а!

Автор: Saymon 16.2.2010, 3:00

я так тестил всё работало big_smile.gif
Core.SendToOpChat - отсылка в оп чат, а логически так если он выключен то куда он будет отсылать???
При выключеном оп чате мне ничего не пришло когда включил то всё отлично.
тестил на птоке 0412

Автор: darkangel17 16.2.2012, 13:42

Можно добавить функцию исключений по шаблону?

Автор: Артём 16.2.2012, 20:56

darkangel17, конечно можно, добавляй big_smile.gif
P.S.

РаскрИвушка (вроде работает)
Код
--[[                            
                                  Название скрипта:  Checker
                                  Версия скрипта: 1.0 RC1
                                  Версия API: API2
                                  Автор: Wariner
                                  Специально для портала администраторов http://mydc.ru
                                  
        Возможности:
                                         v 1.0 RC1
                                - Сканит чат и приват и сообщает о подозрительных фразах администратору
            
    скрипт удобнее будет просматривать в Notepad++    
]]--

local sBot = "Checker" -- имя бота
local tProfiles = { -- если 1 скрипт не проверяет
    [0] = 1, -- Мастер
    [1] = 1, -- ОПератор
    [2] = 0, -- VIP
    [3] = 0, -- Зарегистрированный пользователь
    [-1] = 0, -- Незарегистрированный юзер
}
local tAdv = {  -- шаблоны на срабатывание
    "%d*%.%d*%.%d*%.%d*", -- находит в фразе четыре числа разделённые точками(возможно ип)
}
local safeTable = {
    "10.8.12.66",
}

function ChatArrival(tUser, sData)
    local sMsg = sData:match"%b<>%s*(.*)%|"
    if tProfiles[tUser.iProfile] ~= 1 then
        for i,v in ipairs(tAdv) do
            if checkForSafe(sMsg) then
            if sMsg:match(v) then
                Core.SendToOpChat((" *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg))
            end
        end
    end
end
end

ToArrival = ChatArrival

function checkForSafe(sMsg)
    for _,v in ipairs(safeTable) do
        if not sMsg:match(v) then
            return true
        end
    end
    return false
end


UP Вот только одного не пойму, если оставить один IP в исключениях, тогда его не трогает, а если добавлю ещё один IP, тогда исключения не работают unhappy.gif

Автор: valera_ 16.5.2013, 7:52

Мужики, здорова! почему то скрипт работает не так как надо
Вот пошла подозрительная фраза <OpChat> *** Юзер Саша сказал подозрительную фразу: ™ From: Саша $<Саша> Заходите на мой хаб 97.64.30.12
Почему то не показывает кому лично он это отправил, и выскакивает это ™ From: Саша $<Саша>
Сделал как показал Артем, чтобы подозрительные фразы шли на отдельный ник и выскчило вот это-
<Checker> *** Юзер %s сказал подозрительную фразу: %s
И помирает <БОТ> C:\Хаб\scripts\Checker.lua:20: attempt to index a nil value
Помогите пожалуйста ребята. bad_smile.gif

Версия хаба: 5.0.0.0 мод3

Автор: Артём 18.5.2013, 15:12

valera_, я единственный оставшийся в живых из экстрасенсов этого форума и тот не пойму, ну что у тебя там в строке #20 может быть, в скрипте из первого постав в строке #20 - [3] = 0, -- Зарегистрированный пользователь.
Так что или прикрепляй свой скрипт или мучайся с исправлением сам. bad_smile.gif

Автор: valera_ 18.5.2013, 17:02

Цитата(Артём @ 18.5.2013, 16:12) *
valera_, я единственный оставшийся в живых из экстрасенсов этого форума и тот не пойму, ну что у тебя там в строке #20 может быть, в скрипте из первого постав в строке #20 - [3] = 0, -- Зарегистрированный пользователь.
Так что или прикрепляй свой скрипт или мучайся с исправлением сам. bad_smile.gif

Вот пожалуйста exciting.gif
Код
--
Nick = "Админ"
local sBot = "Checker" -- имя бота
local tProfiles = { -- если 1 скрипт не проверяет
    [0] = 1, -- Мастер
    [1] = 1, -- ОПератор
    [2] = 0, -- VIP
    [3] = 0, -- Зарегистрированный пользователь
    [-1] = 0, -- Незарегистрированный юзер
}
local tAdv = {  -- шаблоны на срабатывание
    "%d*%.%d*%.%d*%.%d*", -- находит в фразе четыре числа разделённые точками(возможно ип)
}

function ChatArrival(tUser, sData)
    local sMsg = sData:match"%b<>%s*(.*)%|"
    if tProfiles[tUser.iProfile] ~= 1 then
        for i,v in ipairs(tAdv) do
            if sMsg:match(v) then
                Core.SendPmToNick(Nick, sBot," *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg)
            end
        end
    end
end
ToArrival = ChatArrival

Автор: Ksan 18.5.2013, 20:09

valera_, сравните своё:

Код
Core.SendPmToNick(Nick, sBot," *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg)
с первоисточником:
Код
Core.SendToOpChat((" *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg))

Даю подсказку: ключевое слово начинается на СК и заканчивается на КИ...
Ск..ки
И это не "сказки". big_smile.gif

Автор: valera_ 19.5.2013, 4:48

Цитата(Ksan @ 18.5.2013, 21:09) *
Код
Core.SendToOpChat((" *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg))

Даю подсказку: ключевое слово начинается на СК и заканчивается на КИ...
Ск..ки
И это не "сказки". big_smile.gif

От первоисточника ошибка (красным)
<OpChat> *** Юзер Саша сказал подозрительную фразу: ™ From: Саша $<Саша> horror.gif
Добавляем немножко СК...КИ своему
Код
Core.SendPmToNick((Nick, sBot," *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg))

И умирает <БОТ> C:\Хаб\scripts\Checker.lua:20: ')' expected near ',' dribble.gif

хаб на птохе 5.0.0.0 мод 3

Автор: Ksan 19.5.2013, 5:25

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

Цитата
[09:10:58] <..OpChat_Test> *** Юзер Test_User сказал подозрительную фразу: 109.227.235.80

Что до проблемы с твоим вариантом даже со скобками, я не знаю, почему там ошибка вылетает, но это легко решается подстановкой нужных данных вместо %s :
Код
Core.SendPmToNick(Nick, sBot," *** Юзер "..tUser.sNick.." сказал подозрительную фразу: "..sMsg)
И выдаст тоже правильный ответ:
Цитата
[09:21:11] <Checker> *** Юзер Test_User сказал подозрительную фразу: 109.227.235.80


UPD.: Внимательнее изучив ту ошибку, понял, как надо было строить фразу для привата юзеру:
Код
Core.SendPmToNick(sNick, sBot, (" *** Юзер %s сказал подозрительную фразу: %s"):format(tUser.sNick, sMsg))
Проверено, мин нет работает!

Автор: valera_ 19.5.2013, 8:27

Дай Бог тебе здоровья!
Проблема решена big_smile1.gif


Автор: Ksan 19.5.2013, 8:50

valera_, я не знаю, как надо постараться, чтоб получить такую ошибку, да ещё с ..
Я скачал скрипт из первого сообщения, добавил в начале ник админа (чтоб было кому отправить в приват), и далее вместо отправки в опчат сделал отправку в приват админу (строку отправки уже показал выше).
Как при таком случае можно получить такую ошибку, и как потом его исправить, я не знаю.
Просто делай всё как я сказал, и не должно быть ошибок.

UPD: Если проблема решена, вы должны тут написать, КАК вы её решили, в чём была ошибка..

И нехорошо удалять сообщение с проблемой и писать вместо него, типа всё, проблема решена..
Нужно добавлять ниже, как я делаю, не удаляя предыдущий текст.

Автор: valera_ 19.5.2013, 8:51

Цитата(Ksan @ 19.5.2013, 9:50) *
valera_, я не знаю, как надо постараться, чтоб получить такую ошибку, да ещё с ..
Я скачал скрипт из первого сообщения, добавил в начале ник админа (чтоб было кому отправить в приват), и далее вместо отправки в опчат сделал отправку в приват админу (строку отправки уже показал выше).
Как при таком случае можно получить такую ошибку, и как потом его исправить, я не знаю.
Просто делай всё как я сказал, и не должно быть ошибок.

А это я щас понял! боту писал eyes_droped.gif Спасибо тебе!

Автор: Ksan 1.6.2013, 4:43

И да, кстати, в скрипте в таблице шаблонов желательно вместо

Код
"%d*%.%d*%.%d*%.%d*",
написать
Код
"%d+%.%d+%.%d+%.%d+",
то есть, в данной регулярке применять плюсы вместо звёздочек, иначе будет реагировать на самое обычное троеточие без цифр вроде
Цитата
Ага...
или даже
Цитата
...