I want a chatbot that will listen for a yes or no question asked in main (such as "does anybody have" or "anyone got" ect and then it appears that all users in the hub answer "no" or "yes but you cant have it") I tried playing around with modifying the elfgirls script but it gave me a headache :o( any chance someone could pull this off?
Maybe this will help you.
I haven't checked it so it might be buggy.
-- Triggy by Troubadour --
botname = "Triggy"
opsnames = {
"[NL]-=DJ_Bert=-",
"Troubadour",
"Tarot",
"(NL)Bitmepper",
"(NL)bomarlon",
"[NL]Ricka",
"KeStJo1969",
"[NL]Xantia",
"Banjo5",
"Lexus",
"[NL]MrBuitenhuizen",
"[cable]erwianni",
"Soepkip",
"The_Boss",
"Whistler",
}
trigs = {
["does anyone have"]="Yes, but you can't have it! ",
["who has"]="We all, but it is illigal for you... ",
["can someone"]={
"No, [USER] we can't do that.",
"Duh! [USER] what do you mean?",
"Sure, can't you?",
"Pffff, silly question dude!" },
["anyone got"]="No, do you wanna give it to us? "
}
function Main()
frmHub:RegBot(botname)
end
function DataArrival(curUser, data)
if( strsub(data, 1, 1) == "<" ) then
-- get the msg only using regular expression
s,e,msg = strfind(data, "%b<>%s+(.+)")
-- look in the table
for key, value in trigs do
for key2, value2 in value do
if( strfind( strlower(msg), key) ) then
else break
end
if( strfind( strlower(msg), "!me") ) then
t="**"..curUser.sName
data=gsub (msg, "!me", t, 1 )
end
SendToAll( data ) -- send the original data
SetTimer(1800)
StartTimer()
answer, x = gsub(value[random(1,getn(value))], "%b[]", curUser.sName)
return 1; -- tell the hub we have processed the data
end
end
end
end
function OnTimer()
theperson = opsnames[random(1,getn(opsnames))]
SendToAll(""..theperson, answer ) -- send bot's answer
StopTimer()
end