Версия для печати темы
MyDC.ru _ Kорзина _ Запрет в нике определённых символов
Автор: Al-j® 11.9.2008, 14:08
Люди,если есть у кого-то,или кто-то сможет сделать,дайте пожалуйста скрипт запрета определённых символов в нике. С исключениями для профилей
Например знак ® может использоваться только у админов,а знак ™ только у випов (ну эт примерно) ну или подскажите где ИМЕННО запрещаются символы на ник в 0400,а то я действительно найти не могу
Буду оч признателен!
Автор: Al-j® 21.9.2008, 4:15
ну хоть кто-нибудь бы нашёлся добрый и сказал,что возьмётся или поищет......
Автор: Setuper 21.9.2008, 11:32
Код
tSmbs={[0]="®",[2]="™"}
function UserConnected(tUser)
local sSmb=tSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"("..sSmb..")") then
Core.SendToUser(tUser,"*** Bad symbol in the nick")
Core.Disconnect(tUser)
end
end
RegConnected=UserConnected
OpConnected=UserConnected
Автор: Al-j® 21.9.2008, 17:40
спасибо!!!
Автор: =TuRoK= 6.10.2008, 15:13
А можно этот скрипт немножко подправить, профилям UnReg, Reg и Vip запретить определённые украшения к нику, а на Op и Master без ограничений, (в плане написания не грамотен :( )
Автор: Setuper 6.10.2008, 15:51
Код
tSmbs={[-1]="[®™]",[2]="[®™]",[3]="[®™]"}
Автор: =TuRoK= 6.10.2008, 18:39
Спасиб
Автор: zzipper 1.11.2008, 14:12
Можно ли сделать наоборот? т.е. указать какие символы можно использовать, а остальные отметать) Нпример, мне надо чтоб были разрешены тока буквы рус. и англ. алфавита, ну и цифры.
Автор: Sephiroth_Lukaw 1.11.2008, 14:44
Код
tSmbs={[0]="[^1-9A-zА-я_]",[-1]="[^1-9A-zА-я_]",[2]="[^1-9A-zА-я_]"}
or
Код
tSmbs = {}
tSmbs[-1] = "[^1-9A-zА-я_]"
tSmbs[0] = tSmbs[-1]
tSmbs[1] = tSmbs[-1]
tSmbs[2] = tSmbs[-1]
tSmbs[3] = tSmbs[-1]
tSmbs[4] = tSmbs[-1]
Автор: zzipper 1.11.2008, 15:15
Ммм, спасибо, но вот скобка квадратная почему-то проходит (
Автор: Sephiroth_Lukaw 1.11.2008, 16:05
offTop: Мой провайдер меня в гроб загонит.
Код
if sSmb and string.find(string.gsub (tUser.sNick, "([%[%]])", "%%1"),"("..sSmb..")") then
Автор: =TuRoK= 10.11.2008, 3:36
У меня ещё вопросик появился по запрету определённых символов в нике в этом скрипте:
Код
tSmbs={
[0]="", -- Master
[1]="", -- Operator
[2]="[®™]", -- Vip
[3]="[®™]", -- Reg
[-1]="[®™]", --UnReg
}
function UserConnected(tUser)
local sSmb=tSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"("..sSmb..")") then
Core.SendToUser(tUser,"*** Украшения в никах запрещены!")
Core.Disconnect(tUser)
end
end
RegConnected=UserConnected
OpConnected=UserConnected
Возможно ли подправить этот скрипт,что бы он запрещал использовать символы,цифры только в начале ника?
Ну и если возможно полный запрет во всём нике оставить на определенные символы
Автор: Nickolya 10.11.2008, 9:06
Код
tSmbs={
[0]="", -- Master
[1]="", -- Operator
[2]="[®™]", -- Vip
[3]="[®™]", -- Reg
[-1]="[®™]", --UnReg
}
tBeginSmbs={ -- хотя цифры (одну) можно записать как %d
[0]="", -- Master
[1]="", -- Operator
[2]="[1234567890]", -- Vip
[3]="[%[%]%!]", -- Reg -- запрет []! в самом начале ника (1 символ)
[-1]="[%.@]", --UnReg -- запрет .@
}
function UserConnected(tUser)
local sSmb=tBeginSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"^("..sSmb..")") then
Core.SendToUser(tUser,"*** Украшения в никах запрещены!")
Core.Disconnect(tUser)
end
sSmb=tSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"("..sSmb..")") then
Core.SendToUser(tUser,"*** Украшения в никах запрещены!")
Core.Disconnect(tUser)
end
end
RegConnected=UserConnected
OpConnected=UserConnected
А вообще, понять как работает эти выражения можно почитав вот эту тему:
Несколько Слов О Захватах И Регулярных Выражениях
Автор: =TuRoK= 10.11.2008, 11:25
Спасибо Nickolya ,почитал немного понял,только про это недопонию,как записать
"хотя цифры (одну) можно записать как %d"
Автор: Nickolya 10.11.2008, 12:08
Читай еще внимательней...
Цитата
%d - десятичная цифра
Т.е. строку из кода выше
Код
[2]="[1234567890]", -- Vip
можно легко и без последствий заменить на
Код
[2]="[%d]", -- Vip
Если что не понятно как сделать - спрашивай, всё растолкуем в самом доступном виде.
Автор: Setuper 12.12.2008, 21:38
Это надо смотреть сам скрипт. А написала не в ту тему))
Автор: West 13.12.2008, 1:27
а как зделать так что бы птоха 0411 вобще не заприщала знаки !! ?? типо ( ".!.@#$%^&*(&^%) и т.д ?
Автор: Setuper 13.12.2008, 3:55
Некоторые символы являются "специальными". Их использует протокол, поэтому ответ - никак!
Автор: Strannik 13.12.2008, 23:52
Цитата(Nickolya @ 10.11.2008, 10:06)
Код
tSmbs={
[0]="", -- Master
[1]="", -- Operator
[2]="[®™]", -- Vip
[3]="[®™]", -- Reg
[-1]="[®™]", --UnReg
}
tBeginSmbs={ -- хотя цифры (одну) можно записать как %d
[0]="", -- Master
[1]="", -- Operator
[2]="[1234567890]", -- Vip
[3]="[%[%]%!]", -- Reg -- запрет []! в самом начале ника (1 символ)
[-1]="[%.@]", --UnReg -- запрет .@
}
function UserConnected(tUser)
local sSmb=tBeginSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"^("..sSmb..")") then
Core.SendToUser(tUser,"*** Украшения в никах запрещены!")
Core.Disconnect(tUser)
end
sSmb=tSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"("..sSmb..")") then
Core.SendToUser(tUser,"*** Украшения в никах запрещены!")
Core.Disconnect(tUser)
end
end
RegConnected=UserConnected
OpConnected=UserConnected
А вообще, понять как работает эти выражения можно почитав вот эту тему:
Несколько Слов О Захватах И Регулярных ВыраженияхБлокирует вход на хаб при входе как Master и Operator
Автор: Nickolya 14.12.2008, 0:50
Может поменять на
Код
if sSmb and sSmb ~= "" and string.find(...
Автор: prapor 9.1.2009, 2:17
Подскажите пожалуйста, а как сделать запрет перед ником, более одной круглой скобки?
Автор: Perspect 8.2.2009, 22:31
Подскажите плз, как сделать, чтобы присекались ники типа: www.ybkb, dchub://керкрнн?
Автор: Setuper 7.3.2009, 0:11
Код
tSmbs={
[0]="", -- Master
[1]="", -- Operator
[2]="[®™]", -- Vip
[3]="[®™]", -- Reg
[-1]="[®™]", --UnReg
}
tBeginSmbs={ -- хотя цифры (одну) можно записать как %d
[0]="", -- Master
[1]="", -- Operator
[2]="[1234567890]", -- Vip
[3]="[%[%]%!]", -- Reg -- запрет []! в самом начале ника (1 символ)
[-1]="[%.@]", --UnReg -- запрет .@
}
function UserConnected(tUser)
local sSmb=tBeginSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"^("..sSmb..")") then
Core.SendToUser(tUser,"*** Украшения в никах запрещены!")
Core.Disconnect(tUser)
end
sSmb=tSmbs[tUser.iProfile]
if sSmb and string.find(tUser.sNick,"("..sSmb..")") then
Core.SendToUser(tUser,"*** Украшения в никах запрещены!")
Core.Disconnect(tUser)
end
end
RegConnected=UserConnected
OpConnected=UserConnected