Автор: THE STRELOK 12.3.2009, 17:40
Помогите доделать скрипт, вообще задумка скрипта - бан от бота.
Код
sBot = SetMan.GetString(21)
tProfile = {
[0] = 1,
[1] = 1,
}
function ChatArrival(tUser,sData)
sData = string.sub(sData,1,-2)
local _,_,cmd = string.find(sData, "%b<>%s+(%S+)")
if cmd == "!botban" then
if tProfile[tUser.iProfile] == 1 then
local _,_,sNick = string.find(sData, "%b<>%s+%S+%s+(%S+)")
local _,_,sReason = string.find(sData, "%b<>%s+%S+%s+%S+%s+(.*)")
if not sNick then
Core.SendToUser(tUser,"<"..sBot.."> Вы не ввели ник!")
return true
end
sUser = Core.GetOnlineUsers()
for i,v in pairs(sUser) do
if sNick == v.sNick then
sIP = v.sIP
end
end
if not sIP then
sIP = "не известен"
end
if not sReason then
sReason = "не указанна"
end
Core.SendToNick(sNick,"<"..sBot.."> Вы были забанены потому, что: "..sReason)
Core.SendToAll("<"..sBot.."> забанил "..sNick.." (IP: "..sIP..") потому, что: "..sReason)
BanMan.Ban(sNick,sReason,sBot,true)
end
return true
end
if cmd == "!bottempban" then
if tProfile[tUser.iProfile] == 1 then
local _,_,sNick = string.find(sData, "%b<>%s+%S+%s+(%S+)")
local _,_,sTime = string.find(sData, "%b<>%s+%S+%s+%S+%s+(%S+)")
local _,_,sReason = string.find(sData, "%b<>%s+%S+%s+%S+%s+%S+%s+(.*)")
if not sNick then
Core.SendToUser(tUser,"<"..sBot.."> Вы не ввели ник!")
return true
end
if not sTime then
Core.SendToUser(tUser,"<"..sBot.."> Вы не ввели время бана!")
return true
end
sUser = Core.GetOnlineUsers()
for i,v in pairs(sUser) do
if sNick == v.sNick then
sIP = v.sIP
end
end
if not sIP then
sIP = "не известен"
end
if not sReason then
sReason = "не указанна"
end
Core.SendToNick(sNick,"<"..sBot.."> Вы были временно забанены на следующие "..sTime.." потому, что: "..sReason)
Core.SendToAll("<"..sBot.."> забанил "..sNick.." (IP: "..sIP..") следующие "..sTime.." потому, что: "..sReason)
BanMan.TempBan(sNick,sTime,sReason,sBot,true)
end
return true
end
end
function UserConnected(tUser)
if tProfile[tUser.iProfile] == 1 then
Core.SendToUser(tUser,"$UserCommand 1 3 Меню админа\\Временно забанить ботом юзера$<%[mynick]> !bottempban %[line:Введите ник] %[line:Введите время бана] %[line:Введите причину]|")
Core.SendToUser(tUser,"$UserCommand 1 3 Меню админа\\Забанить ботом юзера$<%[mynick]> !botban %[line:Введите ник] %[line:Введите причину]|")
Core.SendToNick(tUser,"$UserCommand 1 2 Меню админа\\Забанить ботом этого юзера$<%[mynick]> !botban %[nick] %[line:Введите причину]|")
Core.SendToNick(tUser,"$UserCommand 1 2 Меню админа\\Забанить временно ботом этого юзера$<%[mynick]> !bottempban %[nick] %[line:Введите время бана] %[line:Введите причину]|")
end
end
OpConnected = UserConnected
RegConnected = UserConnected
Сообщения выводятся, а бан не происходит
Автор: Setuper 12.3.2009, 17:54
Код
BanMan.BanNick(sNick,sReason,sBot)
BanMan.TempBanNick(sNick,sTime,sReason,sBot)
Автор: Setuper 12.3.2009, 18:04
Забыл время))
Поправил свой предыдущий пост.
Автор: THE STRELOK 12.3.2009, 18:07
Всё равно банить не хочет, сообщение выводится, а бана нет(
Автор: Setuper 12.3.2009, 18:17
Код
BanMan.BanNick(sNick,sReason,sBot)
BanMan.TempBanNick(sNick,tonumber(sTime) or 1,sReason,sBot)
Автор: THE STRELOK 12.3.2009, 18:22
огромное спасибо, теперь работает
Автор: Setuper 12.3.2009, 19:31
Раз работает, тогда закрываю тему