PtokaX forum

Archive => Archived 5.0 boards => Finished Scripts => Topic started by: Fangs404 on 10 May, 2005, 06:42:53

Title: OP Connection Blocker
Post by: Fangs404 on 10 May, 2005, 06:42:53
i wrote this because i needed a way for a few select admins on my hub to be able to block connections to themselves (for bandwidth purposes).  type !block to block all connections to yourself for one session and !unblock to allow all connections.

-- OP Connection Blocker v1.0
-- by Fangs404
-- last modified 5/9/05
-- tested with PtokaX 0.3.3.0 build 17.03

sBot = frmHub:GetHubBotName()
tPrefixes = frmHub:GetPrefixes()
tBlockedOps = {}

function ChatArrival(user, sData)
local _,_,sCmd = string.find(sData, "^%b<>%s*(.*)|")
if user.bOperator then
local index = findOpPos(user)
if isValidCmd(sCmd, "block") then
if index == 0 then
table.insert(tBlockedOps, user)
end
user:SendData(sBot, "All connections to you are blocked.")
return 1
elseif isValidCmd(sCmd, "unblock") then
if index ~= 0 then
table.remove(tBlockedOps, index)
end
user:SendData(sBot, "All connections to you are allowed.")
return 1
end
end
end

function ConnectToMeArrival(user, sData)
local _,_,sName,sIP = string.find(sData, "(%S*)%s*(%S*)|$")
connectee = GetItemByName(sName)
if connectee and connectee.bOperator and findOpPos(connectee) ~= 0 then
user:SendData(sBot, "All connections to "..sName.." are currently blocked.")
return 1
end
end

function RevConnectToMeArrival(user, sData)
local _,_,sName = string.find(sData, "(%S*)|$")
connectee = GetItemByName(sName)
if connectee and connectee.bOperator and findOpPos(connectee) ~= 0 then
user:SendData(sBot, "All connections to "..sName.." are currently blocked.")
return 1
end
end

function findOpPos(user)
for index in tBlockedOps do
if user.sName == tBlockedOps[index].sName then
return index
end
end
return 0
end

function isValidCmd(sCurCmd, sNeedCmd)
for index in tPrefixes do
if sCurCmd == (tPrefixes[index]..sNeedCmd) then
return 1
end
end
end

suggestions and comments are definitely appreciated.  :)
Title:
Post by: jiten on 10 May, 2005, 08:18:39
Looks familiar :D
Btw, it could also have an option to block connection to specific users. It would be interesting.

Cheers
Title:
Post by: Fangs404 on 10 May, 2005, 09:27:12
QuoteOriginally posted by jiten
Looks familiar :D
Btw, it could also have an option to block connection to specific users. It would be interesting.

Cheers

yeah, i saw something similar elsewhere, but it didn't do quite what i needed it to.

yeah, the block connection to specific users may be added later.  good thought, though.