IPrange search
 

News:

29 December 2022 - PtokaX 0.5.3.0 (20th anniversary edition) released...
11 April 2017 - PtokaX 0.5.2.2 released...
8 April 2015 Anti child and anti pedo pr0n scripts are not allowed anymore on this board!
28 September 2015 - PtokaX 0.5.2.1 for Windows 10 IoT released...
3 September 2015 - PtokaX 0.5.2.1 released...
16 August 2015 - PtokaX 0.5.2.0 released...
1 August 2015 - Crowdfunding for ADC protocol support in PtokaX ended. Clearly nobody want ADC support...
30 June 2015 - PtokaX 0.5.1.0 released...
30 April 2015 Crowdfunding for ADC protocol support in PtokaX
26 April 2015 New support hub!
20 February 2015 - PtokaX 0.5.0.3 released...
13 April 2014 - PtokaX 0.5.0.2 released...
23 March 2014 - PtokaX testing version 0.5.0.1 build 454 is available.
04 March 2014 - PtokaX.org sites were temporary down because of DDOS attacks and issues with hosting service provider.

Main Menu

IPrange search

Started by -SkA-, 12 March, 2007, 20:45:35

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

-SkA-

Hello,

Could someone make a script that searches *ALL* connected users founded in a specified IPrange?

Example: !checkiprange 213.140.0.1-213.140.255.255                  it will shows all connected users in that IPrange.

Thank you
???:::??x??em?-N????:::??? ?wN??

BrianzaLand Blog" style="border:0

bastya_elvtars

This can be heavy in big hubs.
Everything could have been anything else and it would have just as much meaning.

NightLitch

#2
--////////////////////////////////////////////
--// IP-RANGE SEARCHER
--// Requested by: -SkA-
--// Programmed by: NightLitch (2007)
--////////////////////////////////////////////
sCommand = "!iprangesearch"
--////////////////////////////////////////////
ChatArrival = function(user,data)
	data = string.sub(data,1,string.len(data)-1)
	local ok,_,cmd,arg = string.find(data, "%b<>%s(%S+)%s*(.*)")
	if ok then
		if cmd == sCommand and user.bOperator then
			local _,_,r1,r2 = string.find(arg, "(%d+%.%d+%.%d+%.%d+)%-(%d+%.%d+%.%d+%.%d+)")
			if r1 and r2 then
				local users = GetUsersInsideRange(ComputeIP(r1),ComputeIP(r2))
				local s = "*** Users inside "..r1.." - "..r2..": "
				s = s .. "\r\n"
				for i,nick in ipairs(users) do
					if i < 10 then
						s = s .. "\r\n\t   "..i..". "..nick
					else
						s = s .. "\r\n\t "..i..". "..nick
					end
				end
				s = s .. "\r\n"
				user:SendData(frmHub:GetHubBotName(), s)
			else
				user:SendData(frmHub:GetHubBotName(), "*** Invalid IP Range")
			end
			return 1
		end
	end
end

ComputeIP = function(ip)
	local _,_,a,b,c,d = string.find(ip, "(%d+).(%d+).(%d+).(%d+)")
	return a*16777216 + b*65536 + c*256 + d
end

GetUsersInsideRange = function(from,to)
	local tmp = {}
	for _,user in pairs(frmHub:GetOnlineUsers()) do
		local cip = ComputeIP(user.sIP)
		if cip >= from and cip <= to then
			table.insert(tmp, user.sName)
		end
	end
	return tmp
end
//NL

6Marilyn6Manson6


-SkA-

#4
Thank you NL but it doesn't works  ;D

[20:47:47] <??k®??> !iprangesearch 213.140.0.1-213.140.255.255

and no script errors

EDIT: now it works great, thank you very much  :)
???:::??x??em?-N????:::??? ?wN??

BrianzaLand Blog" style="border:0

SMF spam blocked by CleanTalk