PtokaX forum

Archive => Archived 5.0 boards => Finished Scripts => Topic started by: the_pest on 10 March, 2005, 17:07:46

Title: trigger bot
Post by: the_pest on 10 March, 2005, 17:07:46
i added some additional useless settings
full version with all triggs (http://www.pestypest.info/ptokax/trigger.lua)

-- TrickerBot2.lua, created by Ptaczek Dec-24, 2002
-- Just see how to implement the NMDC TriggerBot in LUA :)
-- changes
-- Feb-24, 2003, v2.0 Modification for DataArrival return value.
-- Tiny changes by VidFamne with lot of help by Piglja
-- VidFamne added Pigljas time-function, and some more trigs
-- A bug-fix by VidFamne, hopefully. And added some more triggs ;)
-- A new bug-fix ( for the "!me-command" ) by VidFamne, added ( 09.04.2003 ).
-- Added MatrixX On/Off function. Just type +quiet in mainchat to stop the Bot,
-- and +talk to start the Bot again. By VidFamne ( 05.05.2003 )
-- Bug-fix by [AF]Mike
-- pest made some additional settings

-- !trigger on -- start triggerbot
-- !trigger off -- Stop triggerbot

botname = "Weedy"
desc_tag = "Active <++ V:0.670,M:A,H:1/0/6,S:1>"
connection = "Cable"
email = "weedy@telecom.net.et"
shared = "54055400476" -- in bytes
opicak = 0 -- key icon/OP  0=no key
trigall = 1 -- default mode 1=enabled/0=disabled

trigs = {
             
["shut up"]={
"OK, [CURUSER] ",
"blah blah blah!"
                              },

weed={
"I'm high mate",
"Wanna weed? i have full bag..."
}
         
}

function Main()
if opicak == 1 then
frmHub:RegBot(botname)
end
end

function OnExit()
frmHub:UnregBot(botname)
end

function ChatArrival(curUser, data)

status=string.sub(data,1,string.len(data)-1)
-- parse the command
s,e,cmd = string.find( status, "%b<>%s+(%S+)" )

if curUser.bOperator == 1 then
if (cmd == "!trigger") then
if string.find(status, "on") then
SendToAll(botname, "sup, i'm back again :-)")
if opicak == 1 then
frmHub:RegBot(botname)
curUser:SendData(botmyinfo)
else
SendToAll(bothello)
SendToAll(botmyinfo)
end
trigall=1
elseif string.find(status, "off") then
SendToAll(botname, " Hmmm, Okidoki I must go now.. :( ")
frmHub:UnregBot(botname)
trigall=0
end
return 1
end
end
       
-- get the msg only using regular expression
s,e,msg = string.find(data, "%b<>([%a ]+)")                                        
-- look in the table
                if trigall==1 then
for key, value in trigs do
                for key2, value2 in value do
                     
if( string.find( string.lower(msg), key) ) then
              else break  
end

        if( string.find( string.lower(msg), "!me") ) then
                t="**"..curUser.sName
                data=string.gsub (msg, "!me", t, 1 )
end

SendToAll( data ) -- send the original data
                   
          SetTimer(1800)
                StartTimer()
answer, x = string.gsub(value[math.random(1,table.getn(value))], "%b[]", curUser.sName)

return 1; -- tell the hub we have processed the data
end
end  
end
end

function OnTimer()
SendToAll( botname, answer ) -- send bot's answer
StopTimer()
end

bothello = "$Hello"
botmyinfo = "$MyINFO $ALL "..botname.." "..desc_tag.."$ $"..connection..string.char(5).."$"..email.." $"..shared.."$"

function NewUserConnected(curUser)
if trigall == 1 then
if opicak  == 1 then
curUser:SendData(botmyinfo)
else
curUser:SendData(bothello)
curUser:SendData(botmyinfo)
end
end
end
OpConnected=NewUserConnected
Title: Read from text file
Post by: -=NYC=-Hemarr on 10 March, 2005, 17:54:56
its a lot like the a script i have to bad it does not read from text files
would be nice to have with that feature. It would be more simple to write triggs