ChatGuard (защита чата от ботов)

Только готовые скрипты с описанием.
Ответить
Аватара пользователя
dm
Администратор
Сообщения: 710
Зарегистрирован: 23 авг 2009, 18:06
Хаб: dchub://peerates.no-ip.org
Откуда: Russia
Контактная информация:

ChatGuard (защита чата от ботов)

Сообщение dm »

Название: ChatGuard

Версия: 1.1, LUA 5.1.3 PX 0.4.1.1

Автор: Foreteller12

Описание: Скрипт блокировки главного чата и лички до ввода разблокирующего кода (3-значное рандомное число)

Скачать:
F12new_88_ChatGuardF12.lua
(6.74 КБ) 787 скачиваний
Модификации:
Версия с дополнительными возможностями
Версия для API1
Аватара пользователя
Sunlight
Сообщения: 30
Зарегистрирован: 24 авг 2009, 01:47
Хаб: dchub://hub.pushkindc.ru
Контактная информация:

Сообщение Sunlight »

Под апи1 существует версия? Полезный скрипт.
Аватара пользователя
Foreteller12
Сообщения: 4
Зарегистрирован: 24 авг 2009, 11:23
Контактная информация:

ChatGuard для API1

Сообщение Foreteller12 »

Название: ChatGuard (старая версия)

Автор: Foreteller12

Версия: 1.1, LUA 5.1.2 PX 0.3.6.0

Описание: Скрипт блокировки главного чата и лички до ввода разблокирующего кода (3-значное рандомное число)
F12old_88_ChatGuardF12.lua
(7.8 КБ) 507 скачиваний
Аватара пользователя
Sunlight
Сообщения: 30
Зарегистрирован: 24 авг 2009, 01:47
Хаб: dchub://hub.pushkindc.ru
Контактная информация:

Сообщение Sunlight »

под апи1 вроде работает, *DRINK*
только мну немного не понял что оно пишет в chatguard.tbl
Аватара пользователя
ASPIRIN++
Сообщения: 69
Зарегистрирован: 24 авг 2009, 01:02

Сообщение ASPIRIN++ »

Sunlight писал(а):немного не понял что оно пишет в chatguard.tbl

Код: Выделить всё

WriteFile(tBanIP, "tBanIP", chatguardf) 
пах0ду баны)
Аватара пользователя
Sunlight
Сообщения: 30
Зарегистрирован: 24 авг 2009, 01:47
Хаб: dchub://hub.pushkindc.ru
Контактная информация:

Сообщение Sunlight »

Код: Выделить всё

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. Но мне непонятно как.
nd
Администратор
Сообщения: 311
Зарегистрирован: 23 авг 2009, 18:06

Сообщение nd »

Прекрасный образец безопасного, расширяемого, поддерживаемого кода, покрытого тестами и с хорошей документацией. Чего стоят только говорящие названия переменных: temp1, temp2, temp3 :-P
Но мне непонятно как.
Вызывается функция WriteFile() (вызывается дважды, наверное, чтобы уж точно записалось).

Код: Выделить всё

WriteFile(tBanIP, "tBanIP", chatguardf)
Она определена так:

Код: Выделить всё

function WriteFile(table, tablename, file)
	local handle = io.open(file, "w")
	Serialize(table, tablename, handle)
	handle:close()
end
Просто открывает файл и записывает туда таблицу. Функция Serialize() там чуть ниже определена. Записанная таблица загружается из файла функцией loadlua() (тоже немного ниже найдете).
Аватара пользователя
Sunlight
Сообщения: 30
Зарегистрирован: 24 авг 2009, 01:47
Хаб: dchub://hub.pushkindc.ru
Контактная информация:

Сообщение Sunlight »

Вызывается функция WriteFile() (вызывается дважды, наверное, чтобы уж точно записалось).
Чтобы я не писал после !cgbanipr, файл остается пустым
nd
Администратор
Сообщения: 311
Зарегистрирован: 23 авг 2009, 18:06

Сообщение nd »

По идее, надо использовать так:

Код: Выделить всё

!cgbanipr 127.0.0.1 Причина бана
Если не работает, то надо спросить у автора.
Аватара пользователя
Sunlight
Сообщения: 30
Зарегистрирован: 24 авг 2009, 01:47
Хаб: dchub://hub.pushkindc.ru
Контактная информация:

Сообщение Sunlight »

В том то и дело что не работает :-(
Ладно, попробую сам разобраться. В версии для апи2 нету кстати этого куска.
Аватара пользователя
Foreteller12
Сообщения: 4
Зарегистрирован: 24 авг 2009, 11:23
Контактная информация:

Сообщение Foreteller12 »

гг.. это кажись недописанная часть) когда я делал бан чата по ип просто писал в старой версии а в новую когда конвертил убрал ) так что считайте что этой функции нет, там можно вручную правив скрипт вбить нужные ип или ники для бана.
Аватара пользователя
TiGRpp
Сообщения: 231
Зарегистрирован: 21 сен 2009, 23:05
Хаб: dchub://favorite-hub.ru
Откуда: Москва
Контактная информация:

Доработанная версия скрипта...

Сообщение TiGRpp »

Awesome morfed по <district> на ноябрь 2009

API2
  • Исправлены некоторые шероховатости и неработоспособные фрагменты,
  • Добавлены таблицы запрещенных слов таким образом, что запретив ссылки типа dchub: возможно разрешить такие - http:для одного и того же профиля. Запретить к использованию можно любые слова и выражения,
  • Появилось информирование админа в личку о использовании запрещенных слов,
  • Штрафные санкции не предусмотрены, за исключением, что запрещенные слова в чат и приват не допускаются,
  • Добавлены функции управления ...


Тем, кто использует скрипт "История чата" рекомендуется ставить данный скрипт выше, чтобы запрещенные слова не проходили в чат, и выключать bSendOnEntry - Посылать ли юзеру уведомление о наборе разблокирующего кода. Впрочем, смотрите сами ... *CRAZY*

Foreteller12, автор доработки передает тебе привет. Дим, он отметил в ряде случаев оригинальность твоего кода.
Вложения
F12new_88_ChatGuardF12_morfed.by.district.lua
(8.31 КБ) 520 скачиваний
Последний раз редактировалось TiGRpp 13 ноя 2009, 06:31, всего редактировалось 5 раз.
sphinx

Сообщение sphinx »

Яркий пример бесполезной работы над бесполезным скриптом. Спамеру не составит труда написать трехзначное число 8-)
system failure

Сообщение system failure »

sphinx писал(а):Спамеру не составит труда написать трехзначное число
Каждый раз с каждого ника? Сейчас же в ходу тренд с множеством рандомных ников.
Аватара пользователя
TiGRpp
Сообщения: 231
Зарегистрирован: 21 сен 2009, 23:05
Хаб: dchub://favorite-hub.ru
Откуда: Москва
Контактная информация:

Сообщение TiGRpp »

sphinx писал(а):Яркий пример бесполезной работы над бесполезным скриптом. Спамеру не составит труда написать трехзначное число
А вы, уважаемый, яркий пример трутня. Только языком работаете, в то время как скрипт немало помогает в работе хаба.
Скрипт был поправлен по заказу, очевидно, что нужен!
Вот покажите что-нибудь свое, дельное, плиз.
Последний раз редактировалось TiGRpp 23 дек 2009, 21:01, всего редактировалось 1 раз.
Аватара пользователя
Final_Fantas[y][Duck]
Сообщения: 5
Зарегистрирован: 07 фев 2010, 08:43
Хаб: dchub://dc.mcduck.info
Откуда: McDuck.info
Контактная информация:

Сообщение Final_Fantas[y][Duck] »

полезная вещь :)
Ответить