myDC.ru

Здравствуйте, гость ( Вход | Регистрация )

 
 
Ответить в данную темуНачать новую тему

> BanLogger, API2 | Логирование банов, вывод в чат по команде

Рейтинг 5 V
Теги
Нет тегов для показа
X-Sky
сообщение 10.1.2010, 22:40
Сообщение #1


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Название скрипта: BanLogger
Автор: Nickolya
Дата написания: 10.01.2010
Версия скрипта: 1.0
Версия API: API 2
Описание скрипта: Логирует баны ника/ip , выводит по команде в чат количество банов + последний бан, либо таблицу всех банов для ника/ip.
Прикрепленный скрипт: Прикрепленный файл  BanLogger.lua ( 6.37 килобайт ) Кол-во скачиваний: 99


P.S.
Цитата(Nickolya)
напиши что скрипт сделан через задницу)


Версия скрипта: 1.1

Цитата(Nickolya)
Сделал профили которым доступен скрипт, работу в личке, лог банов для админов, меню. Пробуйте big_smile.gif
Для работы можно заменить сам скипт, он подхватит старую базу банов и начнет новую для админов.


Прикрепленные файлы
Прикрепленный файл  BanLogger_v1.1.lua ( 7.6 килобайт ) Кол-во скачиваний: 110
 
Go to the top of the page
+Quote Post
Wariner
сообщение 10.1.2010, 22:58
Сообщение #2


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Так блин значит сам поленился???


Спасибо сказали:
Go to the top of the page
+Quote Post
X-Sky
сообщение 10.1.2010, 23:00
Сообщение #3


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Не поленился, а не смог choler.gif
Go to the top of the page
+Quote Post
Wariner
сообщение 10.1.2010, 23:03
Сообщение #4


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




Я тебе и говорил клади кусок кода и вместе бы разобрались и вместе бы написали!!! А то так и не научишься...
Go to the top of the page
+Quote Post
X-Sky
сообщение 10.1.2010, 23:03
Сообщение #5


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




не хватает у меня мозга на такие вещи.
Go to the top of the page
+Quote Post
Wariner
сообщение 10.1.2010, 23:06
Сообщение #6


Самый главный активист :-D
***********

Группа: Модераторы
Сообщений: 2 790
Регистрация: 29.6.2008
Из: г. Тула
Пользователь №: 97
Спасибо сказали: 440 раз




У нас модераторы пишущие люди)))) так что вливайся!!! bad_smile.gif


Спасибо сказали:
Go to the top of the page
+Quote Post
X-Sky
сообщение 10.1.2010, 23:07
Сообщение #7


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Чувствую, с моими знаниями, отливаться придётся, наоборот..
Ладно, оффтоп разводить не будем.
Go to the top of the page
+Quote Post
evg
сообщение 11.1.2010, 15:13
Сообщение #8


Участник
**

Группа: Пользователи
Сообщений: 33
Регистрация: 18.8.2008
Пользователь №: 397
Спасибо сказали: 13 раз




из коробки не завелся...
Go to the top of the page
+Quote Post
X-Sky
сообщение 11.1.2010, 15:19
Сообщение #9


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Не знаю, у меня всё отлично


Спасибо сказали:
Go to the top of the page
+Quote Post
TiGRpp
сообщение 13.1.2010, 19:13
Сообщение #10


Продвинутый участник
****

Группа: Пользователи
Сообщений: 162
Регистрация: 19.8.2009
Из: Москва
Пользователь №: 4 201
Спасибо сказали: 24 раза




Цитата(Unterlink(X-Sky) @ 10.1.2010, 23:40) *
Название скрипта: BanLogger
Автор: Nickolya
Версия API: API 2
Описание скрипта: Логирует баны ника/ip , выводит по команде в чат количество банов + последний бан, либо таблицу всех банов для ника/ip.

А вот подскажите где меню у скрипта? Что-то я и в коде его не нашел...
Или он как-то по другому действует?
Вроде написано "выводит по команде в чат количество банов"...
Go to the top of the page
+Quote Post
X-Sky
сообщение 13.1.2010, 19:28
Сообщение #11


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Цитата
Вроде написано "выводит по команде в чат количество банов"...

Ну если нет меню, не значит что по команде не выводит
Если хочешь меню, добавь в конце скрипта
Раскрывающийся текст
Код
function UserConnected(tUser)
  if tProfiles[tUser.iProfile] == 1 then
  Core.SendToUser(tUser,"$UserCommand 1 2 Меню администрации\\Логи банов\\Количество банов для этого юзера$<%[mynick]> !bans %[ip]||"..
  "$UserCommand 1 3 Меню администрации\\Логи банов\\Количество банов для...$<%[mynick]> !bans %[line: Введите ник/IP]||"..
  "$UserCommand 1 2 Меню администрации\\Логи банов\\Лог банов для этого юзера$<%[mynick]> !banlist %[ip]||"..
  "$UserCommand 1 3 Меню администрации\\Логи банов\\Лог банов для...$<%[mynick]> !banlist %[line: Введите ник/IP]||")
end
end
RegConnected,OpConnected=UserConnected,UserConnected
Go to the top of the page
+Quote Post
X-Sky
сообщение 22.1.2010, 21:37
Сообщение #12


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Новая версия скрипта )
Смотрим первый пост big_smile.gif
Go to the top of the page
+Quote Post
Nickolya
сообщение 23.5.2010, 19:06
Сообщение #13


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 775 раз




Обрезанный донельзя скрипт:

CODE
tBanCmds = {
ban = true,
banip = true,
fullban = true,
fullbanip = true,
nickban = true,
tempban = true,
tempbanip = true,
fulltempban = true,
}

function OnStartup()
sBot = SetMan.GetString(21)
tWhomWeSee = {}
tBansLog = {}
tMasterBansLog = {}
sPath = Core.GetPtokaXPath().."scripts/"
if loadfile(sPath.."tBansLog.tbl") then
dofile(sPath.."tBansLog.tbl")
end
if loadfile(sPath.."tMasterBansLog.tbl") then
dofile(sPath.."tMasterBansLog.tbl")
end
TmrMan.AddTimer(1000, "OnTimer1")
end

function OnTimer1()
local tRemove = {}
for i, tData in ipairs(tWhomWeSee) do
local tBan = BanMan.GetBan(tData[1])
if tBan then
if tBan[1] then
tBan = tBan[#tBan]
end
local tBanTbl = {
sBy = tBan.sBy or tData[2],
iTime = tData[3],
iExpireTime = tBan.iExpireTime,
sIP = tBan.sIP,
sNick = tBan.sNick,
bIpBan = tBan.bIpBan,
bNickBan = tBan.bNickBan,
bFullIpBan = tBan.bFullIpBan,
sReason = tBan.sReason,
}
if tBanTbl.sNick then
if not tBansLog[tBanTbl.sNick] then
tBansLog[tBanTbl.sNick] = {}
end
table.insert(tBansLog[tBanTbl.sNick], tBanTbl)
end
if tBanTbl.sIP then
if not tBansLog[tBanTbl.sIP] then
tBansLog[tBanTbl.sIP] = {}
end
table.insert(tBansLog[tBanTbl.sIP], tBanTbl)
end
if not tMasterBansLog[tData[2]] then
tMasterBansLog[tData[2]] = {}
end
table.insert(tMasterBansLog[tData[2]], tBanTbl)
SaveToFile(sPath.."tBansLog.tbl", tBansLog, "tBansLog")
SaveToFile(sPath.."tMasterBansLog.tbl", tMasterBansLog, "tMasterBansLog")
table.insert(tRemove, 1, i)
elseif tData[3] + 5 > os.time() then
table.insert(tRemove, 1, i)
end
end
for _, i in ipairs(tRemove) do
table.remove(tWhomWeSee, i)
end
end

function ChatArrival(tUser, sData)
local _,_, sCmd, sWhoBanned = string.find(sData, "%b<>%s+%p(%S+)%s+(%S+).*|$")
if sCmd then
sCmd = sCmd:lower()
if sWhoBanned and tBanCmds[sCmd] then-- and not BanMan.GetBan(sWhoBanned) then
table.insert(tWhomWeSee, {sWhoBanned, tUser.sNick, os.time()})
end
end
end
ToArrival = ChatArrival

function SaveToFile(sFileWay, tTable, sTableName)
local sHandle = io.open(sFileWay,"w+")
Serialize(tTable, sTableName, sHandle)
sHandle:flush()
sHandle:close()
end

function Serialize(tTable, sTableName, sHandle, sTab)
local sTab = sTab or ""
sHandle:write(sTab..sTableName.." = {\n")
for key, value in pairs(tTable) do
local sKey = (type(key) == "string") and string.format("[%q]",key) or string.format("[%d]",key)
if type(value) == "table" then
Serialize(value, sKey, sHandle, sTab.."\t")
else
local sValue = (type(value) == "string") and string.format("%q",value) or tostring(value)
sHandle:write(sTab.."\t"..sKey.." = "..sValue)
end
sHandle:write(",\n")
end
sHandle:write(sTab.."}")
end


Спасибо сказали:
Go to the top of the page
+Quote Post
X-Sky
сообщение 8.6.2010, 17:45
Сообщение #14


Освоившийся участник
*****

Группа: Модераторы
Сообщений: 352
Регистрация: 25.7.2009
Пользователь №: 3 960
Спасибо сказали: 73 раза




Ещё вопросик. Как сделать так, чтобы засчитывало ещё и баны бота, которые он выдаёт за рекламу или за использование прокси? Или нужны эти самые скрипты? То есть антирекламу и антипрокси.
Go to the top of the page
+Quote Post
Nickolya
сообщение 8.6.2010, 19:44
Сообщение #15


Главный ра******й тут...
*********

Группа: Главные администраторы
Сообщений: 1 727
Регистрация: 18.5.2008
Из: RF, 2la
Пользователь №: 1
Спасибо сказали: 775 раз




Очередной велосипед получится surrender.gif Лучше конечно скрестить скрипты, тогда возможно внесение в таблицу значений.
Go to the top of the page
+Quote Post

Ответить в данную темуНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

Collapse

> Похожие темы

  Тема Ответов Автор Просмотров Последнее сообщение
No New Posts От: BanLogger
От темы с ID: 2945
3 X-Sky 4 871 22.1.2010, 20:51 Посл. сообщение: X-Sky

 



RSS Сейчас: 7.7.2022, 20:42