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 

ping script

 
Post new topic   Reply to topic    egghelp.org community Forum Index -> Script Requests
View previous topic :: View next topic  
Author Message
BhasIRC
Voice


Joined: 02 Jan 2010
Posts: 27
Location: south africa

PostPosted: Sat Jan 02, 2010 7:30 am    Post subject: ping script Reply with quote

Hi guys..

i need some help i hope i am posting this request in the right place

i have this ping script it works fine but i need it to work like my mirc script i will show u the tcl 1 i have now and my old mirc script with the mirc 1 if i typ !ping or !ping me it pings me and if i typ !ping user it pings the users nick i give and gives me and the user the ping reply here is both my codes

Code:
### You can change these settings if you want ###

# Public triggers, seperated by spaces.
set pingpubwords "ping pingme .ping .pingme !ping !pingme"

# If you want to restrict ping requests to users with certain flags, change this.
set pingreqdflags "-|-"

# If you only want the bot to respond to requests from specific channels,
# set them here, separated by spaces, e.g. "#foo #bar #baz".  Setting one
# or more channels here makes the bot ignore the disabled chans setting.
set pingenabledchans ""

# If there are channels where you don't want the bot to listen for !ping
# requests, set them here, seperated by spaces, e.g. "#lame #lamer #lamest".
# This setting is meaningless if a specific list of channels have been given
# in the enabled chans setting.
set pingdisabledchans ""

# Do you want to calculate ping replies in milliseconds (1) or not (0)?
# Millisecond calculation only works on Tcl 8.3 and above, but you can safely
# leave this enabled, the script will detect your Tcl version and disable this
# if necessary.
set pingmilli 1


### YOU SHOULDN'T NEED TO EDIT ANYTHING BEYOND THIS POINT! ###
# Misc. stuff
set pingver "1.0.6"
set pingnver "100006"
putlog "Loading eggping.tcl $pingver by Souperman..."
if { ([info tclversion] < 8.3) && ($pingmilli == 1) } {
   set pingmilli 0
   putlog " eggping.tcl: warning: cannot calculate PINGs in milliseconds (requires Tcl 8.3 or higher). PINGs will be calculated in seconds."
}

# binds
foreach trigger [split $pingpubwords] { bind pub $pingreqdflags $trigger pingnickpub }
bind ctcr $pingreqdflags PING pingreply

# triggered by ping command on channel
proc pingnickpub {nick uhost hand chan text} {
   if {$::pingenabledchans != ""} {
      foreach channel [split $::pingenabledchans] {
         if {[string tolower $channel] == [string tolower $chan]} {
            global pingchan
            set pingchan $chan
            pingnick $nick
            return 1
         }
      }
      return 0
   } else {
      foreach channel [split $::pingdisabledchans] {
         if {[string tolower $channel] == [string tolower $chan]} {
            return 0
         }
      }
      global pingchan
      set pingchan $chan
      pingnick $nick
      return 1
   }
}

# called by pingnickpub or pingnickmsg, sends a CTCP PING to $nick.
proc pingnick {nick} {
   if {$::pingmilli} {
      putquick "PRIVMSG $nick :\001PING [expr {abs([clock clicks -milliseconds])}]\001"
   } else {
      putquick "PRIVMSG $nick :\001PING [unixtime]\001"
   }
}

# processes a CTCP PING reply.
proc pingreply {nick uhost hand dest key args} {
   global pingchan
   set pingnum [lindex $args 0]
   set pingserver [lindex [split $::server :] 0]
   # sanity check -- only processes the CTCP PING reply if it's value is a number
   if {[regexp -- {^-?[0-9]+$} $pingnum]} {
      if {$::pingmilli} {
         putquick "PRIVMSG $pingchan $nick: The lag between us is [expr {abs([expr [expr {abs([clock clicks -milliseconds])} - $pingnum] / 1000.000])}] seconds"
      } else {
         putquick "PRIVMSG $pingchan $nick: The lag between us is [expr [unixtime] - $pingnum] seconds"
      }
   }
}

and here is the mirc code
Code:
on *:text:!ping*:*:  {
  if (!$2) {
    ctcp $nick ping
    notice $nick Please Wait one sec for your ping !
    set -u5 %ping $nick
  }
  if ($2 != $null) && ($2 == me) {
    ctcp $nick ping
    notice $nick Please Wait one sec for your ping !
    set -u5 %ping $nick
  }
  if ($2 != $null) && ($2 != $me) {
    if ($2 ison $chan) {
      ctcp $2 ping
      notice $nick Please Wait one sec for $2 `s ping !
      notice $2 Please Wait one sec for your ping ! Requested by $nick
      set -u5 %pingnick $2
      set -u5 %pingrequested $nick
    }
  }
}
on *:CtcpReply:ping*: {
  if (%ping != $null)   notice %ping Done Your Ping is  4 $calc($ctime - $2) $+ sec   8,1 <<Zainul`s Ping Script>>
  if (%pingnick != $null)  notice %pingnick Done Your Ping is  4 $calc($ctime - $2) $+ sec   8,1<<Zainul`s Ping Script>>
  if (%pingrequested != $null)  notice %pingrequested Done %pingnick $+ `s Ping is  4 $calc($ctime - $2) $+ sec     8,1<<Zainul`s Ping Script>>
}

Thanks in advance
Zainul
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 Requests 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