Couple Scripts to convert to Lua.5
 

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

Couple Scripts to convert to Lua.5

Started by BoJlk, 14 March, 2005, 01:32:27

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

BoJlk

Can some1 convert those scripts to Lua.5?
i'll really appreciate it:

Bot Manager by Mutor
-- BotMgr 1.01b
-- by Mutor
--
-- Add/Remove botnames to/from user list
-- Option for context menu [you can add more of your own commands]
-- Sends PM to OPs when bot added or removed
-- Allow command by profile
-- !delbot 	--Remove bot from user list
-- !addbot 	--Add bot to user list
--
-- Restart scripts will list bot again...
-------------------------------------------------------------------------
aprof = 0	-- Masters are authorized to use these commands
SendMenu = "0"	-- Provide context [right click] menu commands, 0 for no
-------------------------------------------------------------------------
Bot = frmHub:GetHubBotName(BotManager)

function NewUserConnected(user)
if SendMenu == "1" then
	if user.iProfile == aprof then
		customCMDS(user)
		user:SendData(" *** Notice :: Right click hub tab or user list for Admin commands. ***")
	else
		return
	end
else
end
end

OpConnected = NewUserConnected

--$UserCommand 1 X  Where -> 1=Hub Menu 2=User Menu 3=Hub/User Menu 
function customCMDS(user)
	--user:SendData("$UserCommand 255 7")	--clear the menu first
	user:SendData("$UserCommand 1 3 [Admin]\\Remove Bot $<%[mynick]> !delbot %[line:BotNick]||")
	user:SendData("$UserCommand 1 3 [Admin]\\Restore Bot $<%[mynick]> !addbot %[line:BotNick]||")
end

function DataArrival(user, data)
	if user.iProfile == aprof then
		if strsub(data,1,1)=="<" then
			data=strsub(data,1,strlen(data)-1) 
			s,e,cmd,name = strfind(data,"%b<>%s+(%S+)%s+(%S+)") 
				if cmd=="!delbot" then 
					frmHub:UnregBot(name)
					SendPmToOps(Bot, user.sName.." has removed the bot [ "..name.." ] from the user list.")
					return 1
				elseif cmd=="!addbot" then 
					frmHub:RegBot(name)
					SendPmToOps(Bot, user.sName.." has added the bot [ "..name.." ] to the user list.")
					return 1 
				end 
		end 
	end
end

BoJlk

TimeOut Bot by BottledHate
--//TimeOut Bot v0.5
--//By: BottledHate
--//Requested by: AMediaMan
--//24/09/04
--//14/09/04(first release)

--//if using new pto w/ lua 5 erase this stuff...
string = {}
string.sub = strsub
string.find = strfind
string.gsub = gsub
string.len = strlen
string.lower = strlower
string.type = type
string.format = format
io = {}
io.open = openfile
io.close = closefile
io.write = write
os={}
os.execute = execute
os.clock = clock
table= {}
table.getn = getn
table.insert = tinsert
table.remove = tremove
math = {}
math.random = random

--// ok stop erasing!

tUserDefined = {--//Don't Touch
--//edit the stuff in quotes to your liking:
 --//(cmds are for ops only)
aWord = "!addword", --//  

BoJlk

And the UserCleaner by plop
-- auto/manual registered user cleaner if user hasn't been in the hub for x weeks
-- made by plop
-- julian day function made by the guru tezlo
-- code stripped from artificial insanety bot

-- !noclean  add/remove  - adds/removes users from/to the list which aren't cleaned
-- !showusers - shows all registered users
-- !seen  - shows the last time the user left the hub
-- !shownoclean - shows all names wich are on the noclean list
-- !cleanusers - manualy start the usercleaner

-- a folder named userinfo is needed for this bot 2 work

--------------------------------------------------------------------- config
WEEKS = 4    -- every1 older then x weeks is deleted
Bot = "User?Cleaner"
AUTO = 0   -- use 1 for automode, 0 for manual
CleanLevels = {[3]=1,[4]=1,[5]=1} -- levels it needs 2 clean

---------------------------------------------------------------------  the needed tables
UsersTable = {}
Seen = {}
NoClean = {}


--------------------------------------------------------------------- julian day function 2 calcute the time users spend in the hub
function jdate(d, m, y)
	local a, b, c = 0, 0, 0
	if m <= 2 then
		y = y - 1
		m = m + 12
	end
	if (y*10000 + m*100 + d) >= 15821015 then
		a = floor(y/100)
		b = 2 - a + floor(a/4)
	end
	if y <= 0 then c = 0.75 end
	return floor(365.25*y - c) + floor(30.6001*(m+1) + d + 1720994 + b)
end

--------------------------------------------------------------------- loading the last seen database
function LoadLastSeen()
   readfrom("userinfo/lastseen.lst")
   while 1 do
      local line = read()
      if line ==  nil then
         break
      end
      local s,e,name,date = strfind(line, "(.+)$(.+)")
      if name ~= nil then
         Seen[name]=date
      end
   end
   readfrom()
end

--------------------------------------------------------------------- saving last seen date
function SaveSeen()
   writeto("userinfo/lastseen.lst")
   for a,b in Seen do
      Seen[a]=b
      write(a.."$"..b.."\n")
   end
   writeto()
end

--------------------------------------------------------------------- call the garbage man
function Clear() 
   collectgarbage() 
   flush() 
end

--------------------------------------------------------------------- opening the registered users file from ptokax and inserting the users into the table
function OpenRegisterdUsersFile()
   readfrom("../RegisteredUsers.dat")
   UsersTable = nil
   Clear()
   UsersTable = {}
   while 1 do
      local line = read()
      local name, level 
      if line == nil then 
         readfrom()
         break 
      end
      s,e,name,level = strfind(line,"(.+)|.+|(.+)")
      if CleanLevels[tonumber(level)] then
         UsersTable[name] = 1
      end
   end   
end

--------------------------------------------------------------------- extracting the time/date when a user was last seen from the database
function SeenUser(user, data)
   s,e,who = strfind(data, "%b<>%s%S+%s(.+)")
   if who == nil then
      user:SendPM(Bot, "Syntax error, can't read your mind, pls tell me wich user you wanne check|")
   elseif Seen[who] then
      user:SendPM(Bot, who.." was last seen on: "..Seen[who].."|")
   else
      user:SendPM(Bot, who.." is a unknown user|")
   end
end

--------------------------------------------------------------------- shows all the nicks of all registered users
function NewShowUsers(user)
   local lines = {}
   local info = "\r\n\r\n"
   info = info.."  Here are the registered users\r\n"
   info = info.."=====================================\r\n"
   for a,b in UsersTable do
      tinsert(lines, a)
   end
   sort(lines)
   for i=1,getn(lines) do 
      info = info.."  "..lines[i].."\r\n"
   end
   info = info.."=====================================\r\n"
   user:SendPM(Bot, info.." |")
   Clear()
end

--------------------------------------------------------------------- shows all the nicks on the no clean list
function ShowNoClean(user)
   local lines =  {}
   local info = "\r\n\r\n"
   info = info.." Here are the users who aren't cleaned\r\n"
   info = info.."=====================================\r\n"
   for a,b in NoClean do
      tinsert(lines, a)
   end
   sort(lines)
   for i=1,getn(lines) do 
      info = info.."  "..lines[i].."\r\n"
   end
   info = info.."=====================================\r\n"
   user:SendPM(Bot, info.." |")
   Clear()
end

--------------------------------------------------------------------- cleanup old users
function CleanUsers()
   SendToAll(Bot, "The cleaner Started. Every registered user who hasn't been in the hub for "..WEEKS.." weeks will be deleted...|")
   OpenRegisterdUsersFile()
   local s,e,month,day,year = strfind(date("%x"), "(%d+)%/(%d+)%/(%d+)")
   year = "20"..year
   local juliannow = jdate(tonumber(day), tonumber(month), tonumber(year))
   local oldest = WEEKS*7
   local Count2,Count = 0,0
   for a,b in UsersTable do
      Count = Count+1
      if Seen[a] then
         if NoClean[a]== nil then 
            local s,e,monthu,dayu,yearu = strfind(Seen[a], "(%d+)%/(%d+)%/(%d+)")
            yearu = "20"..yearu
            local julianu = jdate(tonumber(dayu), tonumber(monthu), tonumber(yearu))
            if (juliannow - julianu) > oldest then
               Count2 = Count2 +1
               Seen[a] = nil
               DelRegUser(a)
            end
         end
      else
         Seen[a] = date("%x")
      end
   end 
   if Count ~= 0 then
      SendToAll(Bot, Count.." users were processed, "..Count2.." of them were deleted.|")
   end
   SaveSeen()
   OpenRegisterdUsersFile()
end

--------------------------------------------------------------------- don't clean this users adding/removing
function NoCleanUser(user, data)
   local s,e,who, addrem = strfind(data, "%b<>%s+%S+%s+(%S+)%s+(%S+)%s*")
   if (who or addrem) == nil then
      user:SendData(Bot, "RTFM ;). it's !noclean  |")
   elseif UsersTable[who] then
      if addrem == "add" then
         if NoClean[who] then
            user:SendData(Bot, who.." is allready on the imune list.|")
         else
            NoClean[who] = 1
            user:SendData(Bot, who.." is added to the imune list and won't be cleaned.|")
            SaveNoClean()
         end
      elseif addrem == "remove" then
         if NoClean[who] then
            NoClean[who] = nil
            user:SendData(Bot, who.." is removed from the imune list.|")
            SaveNoClean()
         else
            user:SendData(Bot, who.." was not on the imune list.|")
         end
      else
         user:SendData(Bot, "RTFM ;). it's !noclean  |")
      end
   else
      user:SendData(Bot, who.." isn't a registered user.|")
   end
end

--------------------------------------------------------------------- save no clean users 2 file
function SaveNoClean()
   writeto("userinfo/noclean.lst")
   for a,b in NoClean do
      write(a.."\n")
   end
   writeto()
end

--------------------------------------------------------------------- load no clean users from file
function LoadNoClean()
   readfrom("userinfo/noclean.lst")
   while 1 do
      local line = read()
      if line == nil then 
         readfrom()
         break 
      end
      NoClean[line] = 1
   end 
end

--------------------------------------------------------------------- do i need 2 explain this ?????
function DataArrival(user, data) 
   if AUTO == 1 then
      if CleanDay ~= date("%x") then -- user cleaning trigger, works as a timer without a timer
         CleanDay = date("%x")
         CleanUsers()
      end
   end
   if( strsub(data, 1, 1) == "<" ) then 
      if user.bOperator then
         data=strsub(data,1,strlen(data)-1) 
         s,e,cmd = strfind(data,"%b<>%s+(%S+)") 
         if cmd == "!noclean" then
            NoCleanUser(user, data)
            return 1
         elseif cmd == "!showusers" then
            NewShowUsers(user)
            return 1
         elseif cmd == "!shownoclean" then
            ShowNoClean(user)
            return 1
         elseif cmd == "!seen" then
            SeenUser(user, data)
            return 1
         elseif cmd =="!cleanusers" then
            CleanUsers()
            return 1
         end
      end
   end
end

--------------------------------------------------------------------- stuff done when a user/vip leaves
function UserDisconnected(user)
	if UsersTable[user.sName] then
      Seen[user.sName]=date("%x")
      SaveSeen()
   end
end

--------------------------------------------------------------------- do the same stuff for op's if needed
function OpDisconnected(user)
	if UsersTable[user.sName] then
      Seen[user.sName]=date("%x")
      SaveSeen()
   end
end

--------------------------------------------------------------------- stuff done on bot startup
function Main()
   OpenRegisterdUsersFile()
   LoadNoClean()
   LoadLastSeen()
   CleanDay = date("%x")
end

[size=10]I apologise it came out in three POSTs i wanted to keep it organized[/size]

Pothead

bit big writing that innit ?
search the forum both me and someone else have already converted the plop's usercleaner. :)

BoJlk

#4
ok...will do
*edit
no search results  ?(

jiten

Try this:

-- BotMgr 1.01b
-- by Mutor
-- converted to LUA 5 by jiten
--
-- Add/Remove botnames to/from user list
-- Option for context menu [you can add more of your own commands]
-- Sends PM to OPs when bot added or removed
-- Allow command by profile
-- !delbot 	--Remove bot from user list
-- !addbot 	--Add bot to user list
--
-- Restart scripts will list bot again...
-------------------------------------------------------------------------
aprof = 0	-- Masters are authorized to use these commands
SendMenu = "0"	-- Provide context [right click] menu commands, 0 for no
-------------------------------------------------------------------------
Bot = frmHub:GetHubBotName(BotManager)

function NewUserConnected(user)
if SendMenu == "1" then
	if user.iProfile == aprof then
		customCMDS(user)
		user:SendData(" *** Notice :: Right click hub tab or user list for Admin commands. ***")
	else
		return
	end
else
end
end

OpConnected = NewUserConnected

--$UserCommand 1 X  Where -> 1=Hub Menu 2=User Menu 3=Hub/User Menu 
function customCMDS(user)
	--user:SendData("$UserCommand 255 7")	--clear the menu first
	user:SendData("$UserCommand 1 3 [Admin]\\Remove Bot $<%[mynick]> !delbot %[line:BotNick]||")
	user:SendData("$UserCommand 1 3 [Admin]\\Restore Bot $<%[mynick]> !addbot %[line:BotNick]||")
end

function ChatArrival(user, data)
	if user.iProfile == aprof then
		if string.sub(data,1,1)=="<" then
			data=string.sub(data,1,string.len(data)-1) 
			s,e,cmd,name = string.find(data,"%b<>%s+(%S+)%s+(%S+)") 
				if cmd=="!delbot" then 
					frmHub:UnregBot(name)
					SendPmToOps(Bot, user.sName.." has removed the bot [ "..name.." ] from the user list.")
					return 1
				elseif cmd=="!addbot" then 
					frmHub:RegBot(name)
					SendPmToOps(Bot, user.sName.." has added the bot [ "..name.." ] to the user list.")
					return 1 
				end 
		end 
	end
end

jiten

For the usercleaner, try these links:

Link 1

Link 2

Best regards,

jiten

SMF spam blocked by CleanTalk