PtokaX forum

Archive => Archived 4.0 boards => Help with Lua 4 scripts => Topic started by: Zimbrul on 31 May, 2005, 00:43:11

Title: TrickerBot PRO
Post by: Zimbrul on 31 May, 2005, 00:43:11
I found this bot on this forum , it's quite cool , once you "teach" it to say some smart and funny lines...

however , I would like to ask any of u who can modify it so it can do the following:

1. add another type of random sentences that the bot will say to attract attention to himself when nothing happens , eg. users idle

2. make it so you can specify wether the keyword can be case sensitive , with wildcards , or exactly the same

for example so it can make a difference between:

"die by my hand"
"driveby"
"by"
"byte"

In our case "by" is the keyowrd , and in any of the situations above , the bot would say the sentences assigned to the trigger.

This would fix a bug so it won't start saying foolish things when I say a keyword inside of a word , ex keyword dogg , user sentence doggystyle , and the bot says the line , that sucks)

Here is the code:






Quote-- 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

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

botname = "•Garcea•"
trigall=1 -- default mode

trigs = {

test=
"random sentence 1",
"random sentence 2",
"random sentence 3",
"random sentence 4",
},

["test"]=
"random sentence 1",
"random sentence 2",
"random sentence 3",
"random sentence 4",
},
   }


function Main()
   frmHub:RegBot(botname)
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, " Okay, I will talk to you again :-)")
         frmHub:RegBot(botname)
         trigall=1
      elseif string.find(status, "off") then
         SendToAll(botname, " Hmf, Okidoki I will be quiet :(( ")
         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


Thanks 4 the help ,  xcuse me if I might have confused you , I did my best...
Title:
Post by: Zimbrul on 31 May, 2005, 00:51:06
One more thing , how else can I stop the damned bot without deselecting it from the GUI?

The !trigger on/off seems not to work....
Title:
Post by: DJ Bert on 31 May, 2005, 01:15:22
This is perhaps not totally to which you seek, but perhaps have you at that an example
Try this here (http://board.univ-angers.fr/thread.php?threadid=4628&boardid=12&sid=e7541ef6d0649d6b625c76b7a1e6ab22)
Title:
Post by: Zimbrul on 31 May, 2005, 01:28:31
I am way ahead of you, found it about 10 minutes ago , just finished adding my custom Sentences/triggers to it ;)