myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> AntiReclama_by_Ksan, Тихая антиреклама чата и привата с удалённым управлением

Рейтинг 5 V
Ksan
сообщение 8.5.2010, 10:46
Сообщение #1


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




Название скрипта: AntiReclama_by_Ksan.lua
(с удалённым управлением всего и вся через меню)
API: PtokaX API 2
Автор: Ksan (aka Trans)
Дата написания: (07-08)-05-2010
Место проживания автора: г.Томск (Россия)

Версия: 1.0
Описание: Скрипт антирекламы (чат и приват)
Особенности: возможность выбора некоторых опций через меню (заглушка полная или нет, кикать или дисконнектить, зафлуживать приват рекламщиков или нет), реклама тихая, то есть, рекламщик думает, что реклама прошла, несмотря на пинки и зафлуживание, а при режиме заглушки "0" (отмена флуда и киков разных) и вовсе не заметит подвоха. Регистронезависимость.
Примечание: для работы скрипта должна присутствовать папка со вспомогательными файлами с таблицами, уже заполненными

Вариантов реагирования 5:
-- Тихая заглушка без доп. акций (режим "Zero")
-- Зафлуживание рекламщика + дисконнект
-- Зафлуживание + кик
-- Просто дисконнект
-- Просто кик
Общее для всех вариантов - рекламщику кажется, что реклама всё-таки прошла куда надо.
Все варианты переключаются между собой через меню скрипта.

Версия 2.0

••• Изменения:
- при первом запуске необходимые файлы и папка для них создаются автоматически;
- через админское меню можно добавлять-удалять рекламные, исключений и флудовые
шаблоны, а также просматривать списки всех этих шаблонов;
- при добавлении-удалении шаблонов скрипт теперь не надо перезапускать:
- решена проблема обхода антирекламы вводом в сообщение слов из таблицы исключений;
- добавлено блокирование IP в чате и приватах (с возможностью отмены через меню). Отдельные IP можно вносить в исключения, как и любое другое слово;
- добавлены разнообразные статусные сообщения: в Опчат при перезапуске скрипта и при
смене режимов, и в любое время можно посмотреть текущие настройки, получив в
приват через меню;
- добавлена возможность отключения отправки в Опчат сообщений о рекламе (может оказаться полезной при частых отлавливаемых спамах)
- изменен метод получения рандомного ника отправителя для зафлуживания;
- некоторая оптимизация кода (надеюсь).

••• Примечания:
- структура таблиц несколько иная, чем в предыдущей версии и в большинстве других антиреклам, возможно, придётся шаблоны набивать по-новой.
Но я поступил проще - шаблонами старого вида заполнил нужные таблицы (с учётом измененных названий таблиц, естественно) и запустил скрипт. После чего в каждую таблицу добавил шаблон (любой). После этого одноразового действия (для каждой таблицы шаблонов) таблицы сохраняются уже в как нужно.
- при отсутствии ТАБЛИЦ шаблонов сообщений для зафлуживания привата рекламщика скрипт будет падать с сообщением вроде этого: ......PtokaX-0.4.1.1\scripts\Anti_Reclama_api2.lua:461: bad argument #1 to 'random' (interval is empty) (номер строки может оказать у вас иным), поэтому желательно, чтоб в таблице был хотя бы один образец сообщения.

••• Советы для малоопытных:
- шаблоны вбивайте максимально укороченные, но достаточные для отлова рекламы. Не нужно в шаблонах оставлять интернет-префиксы типа dchub://, http:// и www (разве что только в исключениях). Если вы запрещаете любые ссылки, то да, можете внести эти префиксы отдельно, а в дальнейшем в шаблонах их отсекайте.
- для блокирования рекламы ссылок с реферрерами (с бонусами рекламщику за заход по его ссылке) во многих случаях поможет шаблон ?ref=


••• Пошла версия 2.1:

- добавлен 6-й вариант реагирования - "Предупреждение" (при режиме "0")

UPD 2: Поменял местами 2 строки (описание ниже в сообщении #10), чтоб сначала отрабатывала функция общей антирекламы, а потом уже, если не было этой отработки, проверка сообщения функцией проверки IP-рекламы.
UPD 3: Добавлена возможность предупреждать рекламщика в привате бота при попытке рекламы (в режиме "0"). Это тоже можно переключать через меню скрипта.

Дата изменения: 27-12-2010

Прикрепленные файлы
Прикрепленный файл  AntiReclama_gag_with_RCC_2.1_api2.rar ( 7.39 килобайт ) Кол-во скачиваний: 362
 
Go to the top of the page
+Quote Post
Ksan
сообщение 24.5.2010, 22:03
Сообщение #2


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




Прошу прощения за второе сообщение подряд, но тема не апнулась при внесении изменений в первое сообщение.
Короче, скрипт капитально изменен и добавлен в первое сообщение.
Жду комментов.


Спасибо сказали:
Go to the top of the page
+Quote Post
Wariner
сообщение 25.5.2010, 16:48
Сообщение #3


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 439 раз




По описанию очень симпатично, вот только название надо сменить)))))
Go to the top of the page
+Quote Post
Ksan
сообщение 25.5.2010, 16:52
Сообщение #4


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




AntiReclama_gag_with_RCC_2.0_api2.lua - что не так?
Или ты про что-то другое?
Go to the top of the page
+Quote Post
Wariner
сообщение 25.5.2010, 21:32
Сообщение #5


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 439 раз




ну я имел ввиду что то короткое и броское still_dreaming.gif
Go to the top of the page
+Quote Post
Ksan
сообщение 25.5.2010, 23:08
Сообщение #6


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




Можно. Но я не хотел лишнего пафоса или понтов, а броское-короткое предполагает именно такой нюанс. А так - чисто описательное название. Скромненько. big_smile.gif
Go to the top of the page
+Quote Post
Saymon21
сообщение 18.10.2010, 22:03
Сообщение #7


Site Reliability Engineer
*********

Группа: Модераторы
Сообщений: 1 772
Регистрация: 27.6.2009
Из: Чувашия, г. Чебоксары
Пользователь №: 3 719
Спасибо сказали: 479 раз




Очень удивился когда скрипт при включенной блокировке IP в чате словил магнет ссылку
Цитата
[22:57:41] <DC•Etherway.ru/Палата№6> Вероятно, юзер в чате рекламит IP: 000.0.9.4
Вот его сообщение целиком: <Chuvak> Pavel: foobar2000_0.9.4.5_rialtopack.exe (3,77 MБ)
Go to the top of the page
+Quote Post
Артём
сообщение 18.10.2010, 23:10
Сообщение #8


Наруто на аваторке
***********

Группа: Пользователи
Сообщений: 2 605
Регистрация: 11.10.2008
Из: Харькова
Пользователь №: 771
Спасибо сказали: 766 раз




скорее не магнетку, а 0.9.4.5 выловил
Go to the top of the page
+Quote Post
Ksan
сообщение 19.10.2010, 3:08
Сообщение #9


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




Ну бывает, в очень редких случаях отлавливает такие левые числа...невозможно отловить и точно отсортировать все числа, что пишут в чатах. Иногда может даже отловить вертикальную черту - | - как число 124...бывает. Но именно поэтому я предусмотрел в скрипте только сокрытие отловленных сообщений с числами, похожими на IP, а не кик или ещё какое наказание.
Go to the top of the page
+Quote Post
Ksan
сообщение 3.11.2010, 3:12
Сообщение #10


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




Иногда рекламщик кидает в одном сообщении в чате ссылки на ресурсы и в виде днс-адреса и в виде IP. И АнтиРеклама срабатывает первым делом на IP и просто замалчивается сообщение (тихо глушится и сообщается в Опчат), хотя было бы правильнее его наказать за днс-адрес (в таком случае возможны и дисконнект, и кик, и зафлуживание).
Для разруления этого нужно найти в функции function ChatArrival(tUser, sData) следующие 2 строки:
Код
    AntiIP(tUser, sData, sPriv, sMsg, sIp1, sIp2, sIp3, sIp4)
    AntiReclama(tUser, sMsg, sPriv, bFlag0, bFlag1, bFlag2)

и поменять их местами так:
Код
    AntiReclama(tUser, sMsg, sPriv, bFlag0, bFlag1, bFlag2)
    AntiIP(tUser, sData, sPriv, sMsg, sIp1, sIp2, sIp3, sIp4)

и перезапустить скрипт. Не забудьте выставить потом через меню свои любимые настройки.


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 27.12.2010, 13:47
Сообщение #11


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




UPD 3: Добавлена возможность предупреждать рекламщика в привате бота при попытке рекламы (в режиме "0"). Это тоже можно переключать через меню скрипта.

Скрипт перезалит в первом сообщении.


Спасибо сказали:
Go to the top of the page
+Quote Post
Ksan
сообщение 19.9.2011, 4:22
Сообщение #12


Белый Волк
*********

Группа: Пользователи
Сообщений: 1 715
Регистрация: 11.9.2008
Из: г.Томск
Пользователь №: 516
Спасибо сказали: 649 раз




Наконец-то дошли руки добавить исключение времени из захвата IP (в функции AntiIP). Часто бывает ложный захват IP при наличии в сообщении цитаты из другого сообщения, содержащей время в формате клиента + некий ник, содержащий число в конце или начале ника. Правда, это решение не всеобъемлющее, тем не менее, исключает большинство ложных срабатываний.

Для этого нужно заменить 2 строки в функции
Код
function AntiIP(tUser, sData, sPriv, sMsg, sIp1, sIp2, sIp3, sIp4)


До замены:
Код
                    if  tonumber(sIp1)<256 and tonumber(sIp2)<256 and
                    tonumber(sIp3)<256 and tonumber(sIp4)<256 then

После замены:
Код
                    if  tonumber(sIp1)<256 and tonumber(sIp2)<256 and
                    tonumber(sIp3)<256 and tonumber(sIp4)<256
                    and (not sMsg:find("%["..sIp2..":"..sIp3..":"..sIp4.."%]") and not sMsg:find("%["..sIp1..":"..sIp2..":"..sIp3.."%] <%p*"..sIp4)) then

Скрипт не стал перезаливать, надеюсь, сами сможете у себя исправить без проблем. Просто закомментите те 2 строки и ниже добавьте новые (если что, это позволит вернуться к старому варианту строк).
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



RSS Сейчас: 20.8.2018, 7:58