ChatGuard (защита чата от ботов)
- dm
- Администратор
- Сообщения: 710
- Зарегистрирован: 23 авг 2009, 18:06
- Хаб: dchub://peerates.no-ip.org
- Откуда: Russia
- Контактная информация:
ChatGuard (защита чата от ботов)
Название: ChatGuard
Версия: 1.1, LUA 5.1.3 PX 0.4.1.1
Автор:
Описание: Скрипт блокировки главного чата и лички до ввода разблокирующего кода (3-значное рандомное число)
Скачать: Модификации:
Версия: 1.1, LUA 5.1.3 PX 0.4.1.1
Автор:
Описание: Скрипт блокировки главного чата и лички до ввода разблокирующего кода (3-значное рандомное число)
Скачать: Модификации:
- Sunlight
- Сообщения: 30
- Зарегистрирован: 24 авг 2009, 01:47
- Хаб: dchub://hub.pushkindc.ru
- Контактная информация:
- Foreteller12
- Сообщения: 4
- Зарегистрирован: 24 авг 2009, 11:23
- Контактная информация:
ChatGuard для API1
Название: ChatGuard (старая версия)
Автор: Foreteller12
Версия: 1.1, LUA 5.1.2 PX 0.3.6.0
Описание: Скрипт блокировки главного чата и лички до ввода разблокирующего кода (3-значное рандомное число)
Автор: Foreteller12
Версия: 1.1, LUA 5.1.2 PX 0.3.6.0
Описание: Скрипт блокировки главного чата и лички до ввода разблокирующего кода (3-значное рандомное число)
- Sunlight
- Сообщения: 30
- Зарегистрирован: 24 авг 2009, 01:47
- Хаб: dchub://hub.pushkindc.ru
- Контактная информация:
Sunlight писал(а):немного не понял что оно пишет в chatguard.tbl
Код: Выделить всё
WriteFile(tBanIP, "tBanIP", chatguardf) - Sunlight
- Сообщения: 30
- Зарегистрирован: 24 авг 2009, 01:47
- Хаб: dchub://hub.pushkindc.ru
- Контактная информация:
Код: Выделить всё
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Прекрасный образец безопасного, расширяемого, поддерживаемого кода, покрытого тестами и с хорошей документацией. Чего стоят только говорящие названия переменных: temp1, temp2, temp3
Она определена так:
Просто открывает файл и записывает туда таблицу. Функция Serialize() там чуть ниже определена. Записанная таблица загружается из файла функцией loadlua() (тоже немного ниже найдете).
Вызывается функция WriteFile() (вызывается дважды, наверное, чтобы уж точно записалось).Но мне непонятно как.
Код: Выделить всё
WriteFile(tBanIP, "tBanIP", chatguardf)Код: Выделить всё
function WriteFile(table, tablename, file)
local handle = io.open(file, "w")
Serialize(table, tablename, handle)
handle:close()
end- Sunlight
- Сообщения: 30
- Зарегистрирован: 24 авг 2009, 01:47
- Хаб: dchub://hub.pushkindc.ru
- Контактная информация:
По идее, надо использовать так:
Если не работает, то надо спросить у автора.
Код: Выделить всё
!cgbanipr 127.0.0.1 Причина бана- Sunlight
- Сообщения: 30
- Зарегистрирован: 24 авг 2009, 01:47
- Хаб: dchub://hub.pushkindc.ru
- Контактная информация:
- Foreteller12
- Сообщения: 4
- Зарегистрирован: 24 авг 2009, 11:23
- Контактная информация:
- TiGRpp
- Сообщения: 231
- Зарегистрирован: 21 сен 2009, 23:05
- Хаб: dchub://favorite-hub.ru
- Откуда: Москва
- Контактная информация:
Доработанная версия скрипта...
Awesome morfed по <district> на ноябрь 2009
API2
Тем, кто использует скрипт "История чата" рекомендуется ставить данный скрипт выше, чтобы запрещенные слова не проходили в чат, и выключать bSendOnEntry - Посылать ли юзеру уведомление о наборе разблокирующего кода. Впрочем, смотрите сами ...
Foreteller12, автор доработки передает тебе привет. Дим, он отметил в ряде случаев оригинальность твоего кода.
API2
- Исправлены некоторые шероховатости и неработоспособные фрагменты,
- Добавлены таблицы запрещенных слов таким образом, что запретив ссылки типа dchub: возможно разрешить такие - http:для одного и того же профиля. Запретить к использованию можно любые слова и выражения,
- Появилось информирование админа в личку о использовании запрещенных слов,
- Штрафные санкции не предусмотрены, за исключением, что запрещенные слова в чат и приват не допускаются,
- Добавлены функции управления ...
Тем, кто использует скрипт "История чата" рекомендуется ставить данный скрипт выше, чтобы запрещенные слова не проходили в чат, и выключать bSendOnEntry - Посылать ли юзеру уведомление о наборе разблокирующего кода. Впрочем, смотрите сами ...
Foreteller12, автор доработки передает тебе привет. Дим, он отметил в ряде случаев оригинальность твоего кода.
- Вложения
-
- F12new_88_ChatGuardF12_morfed.by.district.lua
- (8.31 КБ) 769 скачиваний
Последний раз редактировалось TiGRpp 13 ноя 2009, 06:31, всего редактировалось 5 раз.
-
sphinx
-
system failure
- TiGRpp
- Сообщения: 231
- Зарегистрирован: 21 сен 2009, 23:05
- Хаб: dchub://favorite-hub.ru
- Откуда: Москва
- Контактная информация:
А вы, уважаемый, яркий пример трутня. Только языком работаете, в то время как скрипт немало помогает в работе хаба.sphinx писал(а):Яркий пример бесполезной работы над бесполезным скриптом. Спамеру не составит труда написать трехзначное число
Скрипт был поправлен по заказу, очевидно, что нужен!
Вот покажите что-нибудь свое, дельное, плиз.
Последний раз редактировалось TiGRpp 23 дек 2009, 21:01, всего редактировалось 1 раз.
- Final_Fantas[y][Duck]
- Сообщения: 5
- Зарегистрирован: 07 фев 2010, 08:43
- Хаб: dchub://dc.mcduck.info
- Откуда: McDuck.info
- Контактная информация: