myDC.ru

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

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

> NoDescAdv, API2 | Удаление рекламы из описания юзеров

Рейтинг 5 V
Теги
Нет тегов для показа
alex82
сообщение 14.5.2009, 9:53
Сообщение #1


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




Название скрипта: NoDescAdv
Версия: 1.01
Версия API: API2
Автор: alex82

Описание:
Скрипт проверяет описание юзера на наличие рекламы. В случае обнаружения описание заменяется на определённую фразу.

ВНИМАНИЕ! Скрипт несовместим с любыми другими скриптами, модифицирующими MyINFO (TagScript, Мой пол, Country Tag, и.т.д.)

Прикрепленный файл  NoDescAdv_1.01.rar ( 810 байт ) Кол-во скачиваний: 483


Спасибо сказали:
Go to the top of the page
+Quote Post
NikseR
сообщение 14.5.2009, 12:11
Сообщение #2


Продвинутый участник
****

Группа: Пользователи
Сообщений: 135
Регистрация: 18.7.2008
Из: г. Москва
Пользователь №: 219
Спасибо сказали: 25 раз




А нет ли скрипта, в котором можно было бы самому менять описание у юзера через менюшку?
Go to the top of the page
+Quote Post
alex82
сообщение 14.5.2009, 13:50
Сообщение #3


Местный
*******

Группа: Неактивированные
Сообщений: 908
Регистрация: 26.12.2008
Пользователь №: 1 574
Спасибо сказали: 1406 раз




NikseR

Не встречал таких. Но нет ничего невозможного. big_smile.gif
Go to the top of the page
+Quote Post
Артём
сообщение 15.5.2009, 8:55
Сообщение #4


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

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




alex82 :P Хороший скрипт!!!))
Go to the top of the page
+Quote Post
alexxx
сообщение 17.5.2009, 19:57
Сообщение #5


Абсолютный новичок


Группа: Пользователи
Сообщений: 2
Регистрация: 10.11.2008
Пользователь №: 1 056
Спасибо сказали: 0 раз




во тесли бы еще сделали чтобы подменяло рекламу в автоответчике,было бы вообще отлично
Go to the top of the page
+Quote Post
z0nt1k00
сообщение 14.6.2009, 10:58
Сообщение #6


Абсолютный новичок


Группа: Пользователи
Сообщений: 3
Регистрация: 6.10.2008
Пользователь №: 744
Спасибо сказали: 0 раз




Цитата(alexxx @ 17.5.2009, 19:57) *
во тесли бы еще сделали чтобы подменяло рекламу в автоответчике,было бы вообще отлично

Да затея идеальная,но не осуществимая! )))
Go to the top of the page
+Quote Post
Wariner
сообщение 14.6.2009, 12:39
Сообщение #7


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

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




почему же? сообщение автоответчика - это обычное сообщение и если у вас антиреклама настроена нормально, то на него она тоже среагирует
Go to the top of the page
+Quote Post
Al-j®
сообщение 4.7.2009, 0:37
Сообщение #8


Активный участник
***

Группа: Пользователи
Сообщений: 68
Регистрация: 26.8.2008
Из: Екатеринбург
Пользователь №: 430
Спасибо сказали: 2 раза




У меня не меняет спам-описания и не пишет ошибку
0411
В чём может быть проблема и как её решить?

ЗЫ несовместиых скриптов не использую. Есть, но выключены... Скрипт передвигал по списку, но эффекта не увидел


Поменял время с 500 на 100, получил результат
Внёс дополнительно в список спама слова "R a S T o 4 K A & П e }{ o T @ ™", но у пользователя описание не сменилось
Среагировал только на "http://"
===========
Добавлено уже утром: скрипт реагирует на рекламу только после перезапуска
Go to the top of the page
+Quote Post
Sunshine-hub
сообщение 14.8.2009, 16:26
Сообщение #9


Начинающий
*

Группа: Пользователи
Сообщений: 20
Регистрация: 7.8.2009
Пользователь №: 4 092
Спасибо сказали: 0 раз




Господа, прошу помощи.

Постоянно лезет ошибка, но где не хватает в 70й строке закрывающей скобки не вижу.

[16:18] Синтаксис C:\PtokaX\scripts\NoDescAdv.lua:70: malformed pattern (missing ']')

CODE
--[[###################################################################################

NoDescAdv v1.01 by alex82
http://mydc.ru/topic1929.html

--###################################################################################]]--
-- НАСТРОЙКИ СКРИПТА

iSendTimer = 500 -- Время отправки MyINFO, ms
tAdv = {"http","www","ftp","adc://","d c h u b","dchub","Dchub","dChub","dcHub","dchUb","dchuB","DChub","DcHub","DchUb",
"DchuB","DCHub","DCHUb","DCHuB","DCHUB","DcHUb","DcHuB","DcHUB","DchUB","DcHuB","homedns","servegame","pups",
"small-hub","no-ip","yes-ip","selfip","ip-home",".com","tulgu","kozlovka","dyndns","destroyteam.biz","guhap",
"zeitgeistmovie","angel.karumo.pp.ru","sytes.net","kyh","podzone","sipha","topplaylist","sportxab","ixbb","jentune",
"sloboda.net","donet","yarzabor","dc.laros-g.ru","depositfiles","karumo.pp.ru","you-kiss.ru","smart9x","ucoz",
"DAYMOVIE","satdv","го го го","go go go","гогого","gogogo","приглашаю на","Заходите на","BAN","portal","mymcomm",
"dc.ozerki.net","avangard-hub","INTERFILM","khdc","Elektrichka","game-mirportal","chitamedia","myminicity","wow",
"bigshare.aa.am:100","zatramvaj","galawars","Pushkinskiy","fresh-leaf","besthub","Адвего","bratuxa","game-server",
"icq-halyava","Uahub","uniongang","marino-hab","upload.net","wow-russian","battleknight","speedhub","maryno.net",
"u c o z","ucoz","arbital","ssp.dsv.ru","pronet.iax","сherepovets","dcmetalhub","favorit-hub","hw-project",
"radiorecord","corbina.","filmaxx","ayazmaserver","l a b e j a","cotroceni","dc.hubul.ro","servehalflife","Hacoc.ru",
"dwar-gold","disneyjazz","aeroportuchta","pronet.iax.be","hubs/725/","vkontakte.ru","narod.ru","narod2.ru",
"10.",":666",":412",":411",":1209",":2009",":27015",":27017",":2046",":4111",":9217",
"217.76.190.196","88.85.214.232","95.52.20.19","77.223.85.215","93.157.235.23","79.172.26.146","81.88.211.181",
"89.151.140.36","92.50.243.167","91.207.238.44","89.42.138.189","192.168.225.175","95.221.132.142","192.168.1.2",
"89.151.129.97","89.151.158.129","172.25.181.37","83.234.225.249","87.250.210.18","82.114.229.187","81.88.211.181",
"89.169.49.220","89.223.36.153","79.120.84.19","80.65.28.201","89.151.177.19","217.174.52.213","217.174.52.108",
"217.197.113.135","87.255.8.102","88.85.195.21","94.31.171.82",".236.45.212","87.236.45.212","212.92.243.227",
"92.248.153.183","217.66.27.166","94.243.20.133","169.254.204.139","88.85.214.176","77.223.82.190","1.208.80.216",
"81 88 211 181","95.71.80.152","89.151.191.122","89.179.24.105","94.242.149.15","93.157.235.232","95.139.187.250",
"95.30.8.90","212.12.18.4","95.84.34.58","77.223.78.196","77.54.164.148","94.41.163.78","88.85.218.92",
"79.133.131.150","79.133.151.239","92.248.154.11","91.147.51.9","77.120.132.179","92.248.129.254","217.174.54.66",
"89.38.207.202","217.174.54.182","94.41.137.38","91.197.174.69","217.197.112.228",
"463888880","5175475","fathub.zapto.org","pashahub.myftp.org","87.228.84.15","http://united.1hb.ru",
"87.228.39.77","d c h u b://","dchub://","d*c*h*u*b://","d-c-h-u-b://","d/c/h/u/b://","d`c`h`u`b://",
"d!c!h!u!b://","d@c@h@u@b://","d#c#h#u#b://","d$c$h$u$b://","d%c%h%u%b://","d^c^h^u^b://",
"d&c&h&u&b://","d(c(h(u(b://","d)c)h)u)b://","d_c_h_u_b://","d=c=h=u=b://","d+c+h+u+b://","d\c\h\u\b://",
"d?c?h?u?b://","d.c.h.u.b://","d>c>h>u>b://","d,c,h,u,b://","d<c<h<u<b://","d~c~h~u~b://","d№c№h№u№b://",
"d;c;h;u;b://","d:c:h:u:b://","d/c/h/u/b://","d|c|h|u|b://","d]c]h]u]b://","d[c[h[u[b://","d{c{h{u{b://",
"d}c}h}u}b://","d c h u b://"," dchub://","no-ip","mine","sytes","dynip","dyndns","gotdns","kicks-ass","d2g","serveftp",
"servehttp","servehalflife","servequake","servecounterstrike","xs4all","myftp",
"servebeer","zapto","tropico","lysekil","udgnet","dnsalias","dynalias","ath","homeip",
"servemp3","hopto","servegame","staticip","orgdns","myftpsite","ipactive","idlegames",
"homeunix","homelinux","flamenap","dns2go","clanpimp","bounceme","ip","uni","is-a-geek",
"217.117.121.10","91.151.177.64","pozitiff.sytes.net",}
--Список рекламы
sReplace = "Я не рекламлю через MYINFO" --Сообщение, подставляемое вместо описания

tSafeProf = { -- Профили, не проверяемые на рекламу
[0] = true,
[1] = true,
}
--###################################################################################

tTimers = {}
tUsers = {}

function OnStartup()
for i,v in pairs(Core.GetOnlineUsers(true)) do
MyINFOArrival(v,v.sMyInfoString)
end
end

function GetNickListArrival(user,data)
tTimers[TmrMan.AddTimer(iSendTimer, "SendAllInfo")] = user.sNick
end

function MyINFOArrival(user,data)
if not tSafeProf[user.iProfile] then
local str = (data:match("%$MyINFO%s$ALL%s%S+%s(.-)%b<>%$.+$") or data:match("%$MyINFO%s$ALL%s%S+%s(.-)%$.+$")):lower()
tUsers[user.sNick] = nil
for i,v in pairs(tAdv) do
if str:find(v) then
tUsers[user.sNick] = true
break
end
end
end
if tUsers[user.sNick] then
tTimers[TmrMan.AddTimer(iSendTimer, "SendInfo")] = user.sNick
end
end

function SendAllInfo(tmr)
local user = Core.GetUser(tTimers[tmr],true)
if user then
for i,v in pairs(Core.GetOnlineUsers(true)) do
if tUsers[v.sNick] then
Core.SendToUser(user,"$MyINFO $ALL "..v.sNick.." "..sReplace..
(v.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%b<>%$.+)$") or
v.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%$.+)$")))
end
end
end
tTimers[tmr] = nil
TmrMan.RemoveTimer(tmr)
end

function SendInfo(tmr)
local user = Core.GetUser(tTimers[tmr],true)
if user then
Core.SendToAll("$MyINFO $ALL "..user.sNick.." "..sReplace..
(user.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%b<>%$.+)$") or
user.sMyInfoString:match("%$MyINFO%s$ALL%s%S+%s.-(%$.+)$")))
end
tTimers[tmr] = nil
TmrMan.RemoveTimer(tmr)
end
Go to the top of the page
+Quote Post
Setuper
сообщение 14.8.2009, 17:01
Сообщение #10


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Ошибка не так переводится. А возникает ошибка из-за того, что нельзя бездумно вписывать антирекламные фразы. Некоторые символы нуждаются в экранировании:
Код
d%]c%]h%]u%]b


Подробнее о символах, нуждающихся в экранировании: http://mydc.ru/topic266.html


Спасибо сказали:
Go to the top of the page
+Quote Post
Sergey613
сообщение 22.11.2009, 10:36
Сообщение #11


Активный участник
***

Группа: Пользователи
Сообщений: 71
Регистрация: 8.4.2009
Пользователь №: 2 982
Спасибо сказали: 1 раз




Есть ли возможность реаизовать антирекламу в графе : E-Mail
Go to the top of the page
+Quote Post
Артём
сообщение 22.11.2009, 13:01
Сообщение #12


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

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




Sergey613
Есть возможность отключить видимость E-Mail...
Прикрепленный файл  __________.JPG ( 21.62 килобайт ) Кол-во скачиваний: 458
Go to the top of the page
+Quote Post
Sergey613
сообщение 22.11.2009, 19:29
Сообщение #13


Активный участник
***

Группа: Пользователи
Сообщений: 71
Регистрация: 8.4.2009
Пользователь №: 2 982
Спасибо сказали: 1 раз




Хорошо, а как это сделать на FreeBSD ?
Go to the top of the page
+Quote Post
Ksan
сообщение 9.4.2010, 23:09
Сообщение #14


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

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




Скрипт захватывает и подменяет описания с рекламой только при своём запуске-перезапуске, а когда юзер перезаходит или заходит новый юзер при запущенном скрипте, реклама светится без проблем.
Поэтому вот решение (очень простое) - добавьте функцию UserConnected с таким содержанием:
Код
function UserConnected(tUser)
    Core.GetUserAllData(tUser)
    MyINFOArrival(tUser,tUser.sMyInfoString)
end
RegConnected = UserConnected
OpConnected = UserConnected


PS: Хмм, как мне подсказал автор, этот же результат достигается увеличением в настройках параметра iSendTimer. Я поставил 1000 вместо 500 и теперь даже при заходе-перезаходе юзера скрипт отрабатывает своё назначение..


Спасибо сказали:
Go to the top of the page
+Quote Post
Setuper
сообщение 11.4.2010, 20:45
Сообщение #15


RusHub team lead
**************

Группа: Модераторы
Сообщений: 4 030
Регистрация: 20.6.2008
Из: г. Королёв (Моск. обл.)
Пользователь №: 46
Спасибо сказали: 1708 раз




Очень затратно использовать функцию Core.GetUserAllData(tUser). Старайтесь избегать её использования!
В данном случае можно было сделать так:

Код
function UserConnected(tUser)
    MyINFOArrival(tUser, Core.GetUserValue(tUser, 1))
end
RegConnected, OpConnected = UserConnected, UserConnected


Спасибо сказали:
Go to the top of the page
+Quote Post
_Deagle_Factory_
сообщение 24.4.2010, 17:12
Сообщение #16


Начинающий
*

Группа: Пользователи
Сообщений: 29
Регистрация: 12.3.2010
Пользователь №: 6 335
Спасибо сказали: 1 раз




Цитата(NikseR @ 14.5.2009, 13:11) *
А нет ли скрипта, в котором можно было бы самому менять описание у юзера через менюшку?

есть такой
Go to the top of the page
+Quote Post
sergius_s
сообщение 8.4.2012, 8:42
Сообщение #17


Начинающий
*

Группа: Пользователи
Сообщений: 17
Регистрация: 16.3.2012
Пользователь №: 10 400
Спасибо сказали: 0 раз




Цитата(alex82 @ 14.5.2009, 12:53) *
Название скрипта: NoDescAdv
Версия: 1.01
Версия API: API2
Автор: alex82

Описание:
Скрипт проверяет описание юзера на наличие рекламы. В случае обнаружения описание заменяется на определённую фразу.

ВНИМАНИЕ! Скрипт несовместим с любыми другими скриптами, модифицирующими MyINFO (TagScript, Мой пол, Country Tag, и.т.д.)

Прикрепленный файл  NoDescAdv_1.01.rar ( 810 байт ) Кол-во скачиваний: 483

Ну как не совместим... Прекрасно пашет с этими скриптами, находясь ниже их, единственное - затирает инфу, которую они выводят в описании, а так отличный скрипт!
Go to the top of the page
+Quote Post
Alex Dancer
сообщение 15.10.2012, 6:34
Сообщение #18


Начинающий
*

Группа: Пользователи
Сообщений: 16
Регистрация: 13.10.2012
Пользователь №: 10 908
Спасибо сказали: 0 раз




А у меня скрипт выдаёт в логе:
] Синтаксис ...\Ptokax 0.4.2.0\scripts\NoDescAdv.lua:49: bad argument #1 to 'GetUser' (string expected, got nil)

Чем это лечить?
Go to the top of the page
+Quote Post

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

 



RSS Сейчас: 28.3.2024, 21:05