egghelp.org community Forum Index
[ egghelp.org home | forum home ]
egghelp.org community
Discussion of eggdrop bots, shell accounts and tcl scripts.
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   UsergroupsUsergroups   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

responder script by MC_8 & Cruz

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases
View previous topic :: View next topic  
Author Message
NTHosts
Op


Joined: 10 Oct 2005
Posts: 100
Location: UK

PostPosted: Wed Mar 01, 2006 9:15 am    Post subject: responder script by MC_8 & Cruz Reply with quote

Ok as the title say i use the responder script by MC_8 & Cruz, my problem is this...
The bot takes like 3 or 4 seconds to post what it is spose to respond..

i.e
<me> !respond
5 seconds later....
<bot> Responce

How could I make this script do an instant responce with no delays ??

Heres the code...
Code:
##
# Global settings:
##

# what channel(s) do you want this to be active on?
set mc_re(chan) {"#\[ftuc\]" "#LynxFM" "#on-air" "#test" "#dj" }

# how many messages may we send...
set messagelimit 500

# in how many seconds?
set timelimit 30

# what color do you want the text to have?
set mc_color ""


##
#Template :
#              read        write
# set {mc_resp(    )}    {"     "}
#
# Valid variables are %nick %uhost %hand %chan ^^^ ###
#

# INFO

set {mc_resp(!web)}    {"http://www.LynxFM.com"}
set {mc_resp(!forum)}    {"http://www.LynxFM.com/main/modules.php?name=Forums"}
set {mc_resp(!downloads)}    {"http://www.LynxFM.com/modules.php?name=Downloads"}
set {mc_resp(!mirc)}    {"http://www.LynxFM.com/modules.php?name=Downloads"}
set {mc_resp(!xchat)}    {"http://www.LynxFM.com/modules.php?name=Downloads"}
set {mc_resp(!listen)}    {"http://www.LynxFM.com/modules.php?name=listen"}
set {mc_resp(!apply)}    {"http://www.LynxFM.com/modules.php?name=apply"}
# LISTEN

set {mc_resp(!winamp)}    {"http://stream.lynxfm.info:8000/listen.pls"}
set {mc_resp(!wmp)}    {"http://www.LynxFM,com/wmp.htm"}
set {mc_resp(!real)}    {"http://www.LynxFM.com/real.ram"}
set {mc_resp(!itunes)}    {"http://stream.lynxfm.info:8000/listen.pls"}


# FUNNY

set {mc_resp(!spliff)}    {"/me rolls a phat joint and chucks it to %nick, try !blunt you puff !"}
set {mc_resp(!blunt)}    {"/me packs a cuban cigar full of skunk and chucks it to %nick... hehe now we're talkin ;)"}
set {mc_resp(!beer)}    {"/me cracks open a cold one and passes it to %nick.. enjoy :)"}
set {mc_resp(!stella)}    {"\0030,12 BIG UP THE STELLA CREW INSIIIIIIDE !!!! "}
set {mc_resp(!work)}    {"will this [censored] thing work ? %chan"}


# SYSTEM

set {mc_resp(!sao)}    {"/msg operserv set superadmin on"}
set {mc_resp(!tag)}    {"/msg operserv svsnick %nick %nick|On-Air"}
set {mc_resp(!away)}    {"/msg operserv svsnick %nick %nick|Away"}
set {mc_resp(!brb)}    {"/msg operserv svsnick %nick %nick|BRB"}
set {mc_resp(!bed)}    {"/msg operserv svsnick %nick %nick|Bed"}
set {mc_resp(!food)}    {"/msg operserv svsnick %nick %nick|Food"}
set {mc_resp(!work)}    {"/msg operserv svsnick %nick %nick|Work"}


# TURN IT UP

set {mc_resp(!tiu)}    {"\00300\o/\o/\o/ \00308Turn it Up \00300\o/\o/\o/"\
                        "\00311CANT \00308HERE \00311IT \00308TURN \00311IT \00308UP !!!"\
                        "\00311TURN IT UP"\
                        "\00302OMFG \00306TURN \00302IT \00306UP \00302MOTHER \00306FUCKER !!!!"\
                        "\00306Dont you know pump it up \00306,7You Gotta pump it up !"\
                        "\00309(((((((( TIU ))))))))"}

# TUNE
set {mc_resp(!tune)}    {"\00315OMFG I LOVE THIS TUNE !!! <3"\
                        "\00309WOOT WOOT WOOT OMGWAFT !!!"\
                        "\00307(\00306(\00307(\00306(\00307(\00306(\00307(\00306(\00307(\00306(\00307(\00306( \00309COME ON L$
                        "\00308((((((((( WORK IT DJ, WORK IT )))))))))"\
                        "\00307T\00308U\00307N\00308E\00307!\00307T\00308U\00307N\00308E\00307!\00307T\00308U\00307N\00308E\0$
                        "\00300,2HEY DJ, SPIN US ANOTHER PHAT TRACK !"}

# HANDS UP

set {mc_resp(!hu)}    {"\00312\o/\00313\o/\00312\o/\00313\o/\00312\o/\00313\o/\00312\o/\00313\o/\00312\o/\00313\o/"\
                        "\00308\o/\00308\o/\00308\o/\00308\o/\00302HANDS UP \00308\o/\00308\o/\00308\o/\00308\o/"\
                        "\00315\o/\00303\o/\00302\o/\00308\o/\00315\o/\00303\o/\00302\o/\00308\o/"}


# SCHEDULE

set {mc_resp(!schedule*sun)}    {"\0034LynxFM schedule for Sunday.\n \01700:00 - 14:00 ~ DJ-LFM\n 14:00 - 16:00 ~ DJ-Steve\n $

set {mc_resp(!schedule*mon)}    {"\0034LynxFM schedule for Monday.\n\01700:00 - 20:00 ~ DJ-LFM\n 20:00 - 22:00 ~ DJ-NTR\n 22:$

set {mc_resp(!schedule*tue)}    {"\0034LynxFM schedule for Tuesday.\n\01700:00 - 20:00 ~ DJ-LFM\n 20:00 - 22:00 ~ ChrissyT\n $

set {mc_resp(!schedule*wed)}    {"\0034LynxFM schedule for Wednesday.\n\01700:00 - 01:00 ~ DJ-LFM\n 01:00 - 06:00 ~ DJ_Alphak$

set {mc_resp(!schedule*thu)}    {"\0034LynxFM schedule for Thursday.\n\01700:00 - 00:00 ~ DJ-LFM\n \0034All times true GMT."}

set {mc_resp(!schedule*fri)}    {"\0034LynxFM schedule for Friday.\n\01700:00 - 17:00 ~ DJ-LFM\n 17:00 - 19:00 ~ ChrissyT\n 1$

set {mc_resp(!schedule*sat)}    {"\0034LynxFM schedule for Saturday.\n\01700:00 - 20:00 ~ DJ-LFM\n 20:00 - 22:00 ~ DJ-NTR\n 2$

set {mc_resp(!schedule)}    {"Please choose which day you want, just the first 3 letters.. such as \"!schedule mon\" will sho$



#                                                       #
### You may stop editing now, source code starts here ###
#                                                       #

set mc_re(version) v2.0
set mc_re(chan) [string tolower $mc_re(chan)]
bind pubm - * mc:resp
bind ctcp - "ACTION" mc:action
bind join - * mc:join

proc mc:join {nick uhost hand chan args} {
#  puthelp "PRIVMSG $chan : $nick / $uhost / $hand / $chan / $args"
# little hack, add the keyword 'onjoin123' as the text so we can use that to trigger on join messages
  set args "$nick onjoin123"
  mc:resp $nick $uhost $hand $chan $args
    return 0
}

proc mc:action { nick uhost hand chan keyword text } {
#  puthelp "PRIVMSG $chan : $nick / $uhost / $hand / $chan / $keyword / $text"
  mc:resp $nick $uhost $hand $chan $text
}


proc mc:resp {nick uhost hand chan args} {
 global botnick mc_resp mc_re messagelimit messagecount timelimit hack mc_color
 set args [string tolower [lindex $args 0]]

 # make sure we're not spamming because we're being spammed:
 if {![info exists messagecount]} {
   set messagecount 0
 }
 if {$messagecount >= $messagelimit} { return 0 }

 # check if we're on a channel which we are installed on:
 if {[lsearch -exact $mc_re(chan) [string tolower $chan]] == "-1"} {return 0}

 # loop through all above responses with the received line:
 # "search" is the received line.
 foreach search [string tolower [array names mc_resp]] {

  # if we have a match:
  # (if "search" (*hello*bob*) matches "args" (why, hello bob!))
  if {[string match $search $args]} {
 if {[string match $search $args]} {

   # put the entire message (bot reply) in the text variable since we'll be using it:
   set text [mc:resp:rep $mc_resp($search) $nick $uhost $hand $chan]

   # pick a random reply if there are multiple defined:
   set alltext [lindex $text [rand [llength $text]]]

   # if the reply contains a \n, split it in multiple commands:
   set alltext [split $alltext "\n"]
   foreach text $alltext {

    # strip any spaces at end or front
    set text [string trim $text]

                # search : *hello*bob*
                # args   : hello bob, good to see you
                # text   : Thanks, it's good to see you too
# lets see if we can assign text to variables:
    regsub -all "\\*" $search "(.\*)" regtext

    set TXT1 "."
    set TXT2 "."
    set TXT3 "."
    set TXT4 "."
    set TXT5 "."
    set TXT6 "."

    regexp $regtext $args match_var TXT1 TXT2 TXT3 TXT4 TXT5 TXT6

    regsub "%1" $text $TXT1 text
    regsub "%2" $text $TXT2 text
    regsub "%3" $text $TXT3 text
    regsub "%4" $text $TXT4 text
    regsub "%5" $text $TXT5 text
    regsub "%6" $text $TXT6 text

#puthelp "PRIVMSG $chan :$TXT1 $TXT2 $TXT3 $TXT4 $TXT5 $TXT6"
#puthelp "PRIVMSG $chan : (regexp   $regtext   $args)"

    # first parse the /me
    if {[string match /me* $text]} {
       regsub "/me " $text "" echotext
       puthelp "PRIVMSG $chan :^AACTION $echotext^A"
       continue
       }

    # second, parse /not
    if {[string match /not* $text]} {
       if {[regexp {^\/not ([^ ]*) (.*)$} $text match_var recipient message]} {
          puthelp "NOTICE $recipient :${mc_color}$message"
          } else {
          puthelp "PRIVMSG $chan :${mc_color}Sorry, i [censored] up. ($text)"
          }
          continue
       }
 # third, parse /msg
    if {[string match /msg* $text]} {
       if {[regexp {^\/msg ([^ ]*) (.*)$} $text match_var recipient message]} {
          puthelp "PRIVMSG $recipient :${mc_color}$message"
          } else {
          puthelp "PRIVMSG $chan :${mc_color}Sorry, i [censored] up. ($text)"
          }
          continue
       }

    # fourth, parse /kick
    if {[string match /kick* $text]} {
       if {[regexp {^\/kick ([^ ]*) (.*)$} $text match_var target message]} {

          if {[isop $target $chan]!=1} {
              puthelp "KICK $chan $target :$message"
            } else {
              puthelp "PRIVMSG $chan :^AACTION nudges $target and points at his boot^A"
            }

          } else {
              puthelp "PRIVMSG $chan :${mc_color}Sorry, i [censored] up. ($text)"
          }
          continue
       }

    # fifth, parse /ban
    if {[string match /ban* $text]} {
       if {[regexp {^\/ban ([^ ]*) ([0-9]+) (.*)$} $text match_var target bantime message]} {

          if {[isop $target $chan]!=1} {
              newchanban $chan [maskhost $uhost] $botnick $message $bantime
              puthelp "KICK $chan $target :$message"
            } else {
              puthelp "PRIVMSG $chan :^AACTION gently asks $target to permanently leave^A"
            }

          } else {
              puthelp "PRIVMSG $chan :${mc_color}Sorry, i [censored] up. ($text)"
  }
          continue
       }


    # default :
    puthelp "PRIVMSG $chan :${mc_color}$text"
    continue
   }

  # update messagecount to prevent flooding
  set messagecount [expr $messagecount+1]
  utimer $timelimit {set messagecount [expr $messagecount-1]}
  return 0

  }
 }
}

proc mc:resp:rep {data nick uhost hand chan} {
 global botnick
 regsub -all -- %nick $data $nick data ; regsub -all -- %uhost $data $uhost data
 regsub -all -- %botnick $data $botnick data
 regsub -all -- %hand $data $hand data ; regsub -all -- %chan $data $chan data
 regsub -all -- %b $data ^B data ; regsub -all -- %r $data ^V data
 regsub -all -- %u $data ^_ data ; regsub -all -- %c $data ^C data
 return $data
}

Any help with this would be great.

Thanks in advance Razz
_________________
www.NT-Hosts.Net - More than just a host
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
r0t3n
Owner


Joined: 31 May 2005
Posts: 507
Location: UK

PostPosted: Wed Mar 01, 2006 9:49 am    Post subject: Reply with quote

You are using puthelp which is the slowest queue, use a faster queue like putserv or putquick.
_________________
r0t3n @ #r0t3n @ Quakenet
Back to top
View user's profile Send private message MSN Messenger
NTHosts
Op


Joined: 10 Oct 2005
Posts: 100
Location: UK

PostPosted: Wed Mar 01, 2006 11:37 am    Post subject: yay Reply with quote

Works perfect now Very Happy
Thanks for your fast help Very Happy
_________________
www.NT-Hosts.Net - More than just a host
Back to top
View user's profile Send private message Send e-mail Visit poster's website AIM Address Yahoo Messenger MSN Messenger
Alchera
Revered One


Joined: 11 Aug 2003
Posts: 3344
Location: Ballarat Victoria, Australia

PostPosted: Wed Mar 01, 2006 9:36 pm    Post subject: Re: yay Reply with quote

Lynxfm wrote:
Works perfect now Very Happy
Thanks for your fast help Very Happy

Remember 'bugs' referring to MC_8's scripts can (and should be) be directed to here: PureHype Networks
Community Forum


As always, the author of any script is to be contacted first!
_________________
Add [SOLVED] to the thread title if your issue has been.
Search | FAQ | RTM
Back to top
View user's profile Send private message Visit poster's website
Display posts from previous:   
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Support & Releases All times are GMT - 4 Hours
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Forum hosting provided by Reverse.net

Powered by phpBB © 2001, 2005 phpBB Group
subGreen style by ktauber