if tProfiles[sUser.iProfile] and tProfiles[sUser.iProfile] == 1 then
data = string.sub(sData,1,string.len(sData)-1)
cmd = string.match(data,"%b<>%s+(%S+)")
if cmd then
if string.lower(cmd) == "!cgbanipr" then
local temp1,temp2,temp3=string.match(data,"%b<>%s+(%S+)%s+(%S+)%s+(.*)$")
curUser:SendData(bot,"[command] "..temp1.." "..temp2.." "..temp3)
if tBanIP[temp2]==nil then
tBanIP[temp2]={}
tBanIP[temp2]["ip"]=temp2
tBanIP[temp2]["fromuser"]=sUser.sName
tBanIP[temp2]["time"]=os.date("%c")
tBanIP[temp2]["itime"]=os.date()
tBanIP[temp2]["r"]=temp3
tBanIP["banlistc"]=tBanIP["banlistc"]+1
tBanIP[tBanIP["banlistc"]]=temp2
WriteFile(tBanIP, "tBanIP", chatguardf)
WriteFile(tBanIP, "tBanIP", chatguardf)
sUser:SendData(bot,"Для IP:"..tBanIP[temp2]["ip"].." отключён чат и приваты по причине: "..tBanIP[ntext]["r"])
end
return 1
end
end
cmd=""
end
end
Непонятно действие этой команды. В апи1. Поидее тут что то добавляется в файл chatguard.tbl. Но мне непонятно как.
Добавлено: 25 авг 2009, 19:21
nd
Прекрасный образец безопасного, расширяемого, поддерживаемого кода, покрытого тестами и с хорошей документацией. Чего стоят только говорящие названия переменных: temp1, temp2, temp3
Но мне непонятно как.
Вызывается функция WriteFile() (вызывается дважды, наверное, чтобы уж точно записалось).
function WriteFile(table, tablename, file)
local handle = io.open(file, "w")
Serialize(table, tablename, handle)
handle:close()
end
Просто открывает файл и записывает туда таблицу. Функция Serialize() там чуть ниже определена. Записанная таблица загружается из файла функцией loadlua() (тоже немного ниже найдете).
Добавлено: 25 авг 2009, 21:52
Sunlight
Вызывается функция WriteFile() (вызывается дважды, наверное, чтобы уж точно записалось).
Чтобы я не писал после !cgbanipr, файл остается пустым
В том то и дело что не работает
Ладно, попробую сам разобраться. В версии для апи2 нету кстати этого куска.
Добавлено: 27 авг 2009, 19:48
Foreteller12
гг.. это кажись недописанная часть) когда я делал бан чата по ип просто писал в старой версии а в новую когда конвертил убрал ) так что считайте что этой функции нет, там можно вручную правив скрипт вбить нужные ип или ники для бана.
Доработанная версия скрипта...
Добавлено: 12 ноя 2009, 01:24
TiGRpp
Awesome morfed по <district> на ноябрь 2009
API2
Исправлены некоторые шероховатости и неработоспособные фрагменты,
Добавлены таблицы запрещенных слов таким образом, что запретив ссылки типа dchub: возможно разрешить такие - http:для одного и того же профиля. Запретить к использованию можно любые слова и выражения,
Появилось информирование админа в личку о использовании запрещенных слов,
Штрафные санкции не предусмотрены, за исключением, что запрещенные слова в чат и приват не допускаются,
Добавлены функции управления ...
Тем, кто использует скрипт "История чата" рекомендуется ставить данный скрипт выше, чтобы запрещенные слова не проходили в чат, и выключать bSendOnEntry - Посылать ли юзеру уведомление о наборе разблокирующего кода. Впрочем, смотрите сами ...
Foreteller12, автор доработки передает тебе привет. Дим, он отметил в ряде случаев оригинальность твоего кода.
Добавлено: 15 дек 2009, 09:50
sphinx
Яркий пример бесполезной работы над бесполезным скриптом. Спамеру не составит труда написать трехзначное число
Добавлено: 17 дек 2009, 11:35
system failure
sphinx писал(а):Спамеру не составит труда написать трехзначное число
Каждый раз с каждого ника? Сейчас же в ходу тренд с множеством рандомных ников.
Добавлено: 23 дек 2009, 20:54
TiGRpp
sphinx писал(а):Яркий пример бесполезной работы над бесполезным скриптом. Спамеру не составит труда написать трехзначное число
А вы, уважаемый, яркий пример трутня. Только языком работаете, в то время как скрипт немало помогает в работе хаба.
Скрипт был поправлен по заказу, очевидно, что нужен!
Вот покажите что-нибудь свое, дельное, плиз.