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

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

MyDC.ru _ Kорзина _ Нужен Скрипт Антиспам Ником....

Автор: *FoxMalder* 27.10.2008, 18:12

нужен скрипт который запрещал бы заходить с никами-адресами типо "BG_www.myip.ru_BG, "!%--myip.ru--%!" думаю понятно или запрещёнными словосочетаниями
я тут вроде видел такой но так и не нашёл(((

 spamer_vs_admin.txt ( 23.98 килобайт ) : 28
 

Автор: Trans 28.10.2008, 13:27

Хмм...а разве у него IP не опознаваемый? Нельзя IP забанить-заглушить?
Или он динамический и каждый раз другой?
К тому же, лично я запрещаю в хабе ники длиннее 13 символов. Ибо нефиг выкобениваться, а развлекаться и выражать себя есть другие способы, а тут пусть качают. И общаются. big_smile.gif Короткий ник - не шибко-то разгонишься с рекламой.

Автор: Setuper 28.10.2008, 13:35

простейшее регулярное выражение:

Код
"[Ww][Ww][Ww]%.[Mm][Yy][Ii][Pp]%.[Rr][Uu]"
или
Код
"[Ww][Ww][Ww]%.%S+%.[Rr][Uu]"
или
Код
"[Ww][Ww][Ww]%.%d+%.%d+%.%d+%.%d+%.[Rr][Uu]"

Автор: *FoxMalder* 28.10.2008, 18:16

Trans
еще раз прочитай потиму нельзя наказать по ip
и я не любитель что-то запрещать... нравится длинный ник пожалуйста и из-за 1 хмыря я не намерен этого делать
(у самого ник из 31 символа shocked.gif )

Setuper
если не сложно реализуй это в скрипте

Автор: Setuper 28.10.2008, 18:41

Код
function ValidateNickArrival(tUser)
  if string.find(tUser.sNick,"[Ww][Ww][Ww]%.%S+%.[Rr][Uu]") then
    Core.SendToUser(tUser,"*** Смени ник!")
    Core.Disconnect(tUser)
  end
end
UserConnected=ValidateNickArrival
RegConnected=ValidateNickArrival
OpConnected=ValidateNickArrival

Автор: *FoxMalder* 28.10.2008, 20:07

no spam nick.lua:2: bad argument #1 to 'find' (string expected, got nil)

Автор: Setuper 29.10.2008, 1:31

Скрипт под новый API! Для старого сам пиши)))

Автор: *FoxMalder* 29.10.2008, 18:54

я так и знал что просто скрипт ты не дашь)
сделал так чтоб скрипт "работал" но он не дисконектит....
тока не смейся)

Код
function NickArrival(tUser)
  if string.find(tUser.sNick,"[Ww][Ww][Ww]%.%S+%.[Rr][Uu]") then
    SendToUser(tUser,"*** Смени ник!")
    Disconnect(tUser)
  end
end

UserConnected = NickArrival
RegConnected = NickArrival
OpConnected = NickArrival

Автор: Setuper 29.10.2008, 20:40

во-первых, функция называется не NickArrival, а ValidateNickArrival, во-вторых, для API1 пишется так: tUser:Disconnect(). В итоге получаем:

Код
function ValidateNickArrival(tUser)
  if string.find(tUser.sName,"[Ww][Ww][Ww]%.%S+%.[Rr][Uu]") then
    tUser:SendData("*** Смени ник!")
    tUser:Disconnect()
  end
end
UserConnected=ValidateNickArrival
RegConnected=ValidateNickArrival
OpConnected=ValidateNickArrival


Какой у тебя API я что-то не могу понять???

Автор: *FoxMalder* 29.10.2008, 21:05

api1 0360 птока)
я так и знал что надо было изменить что-то в дисконекте ....
менял и так tUserDisconnect() и так tUserDisconnect... laughing.gif

а убрал Validate потому что не припомню что-бы в моих скриптах была эта функция ops.gif
спасиб =)