This is the new home of the egghelp.org community forum.
All data has been migrated (including user logins/passwords) to a new phpBB version.


For more information, see this announcement post. Click the X in the top right-corner of this box to dismiss this message.

utimer loop help

Help for those learning Tcl or writing their own scripts.
Post Reply
C
CP1832
Halfop
Posts: 68
Joined: Thu Oct 09, 2014 4:03 pm

utimer loop help

Post by CP1832 »

Hi guys:

I am having issues with a simple code that would repeat a given test a few times once every ten seconds. What I would want to achieve is:

Code: Select all

<user>!annoy bored
+10 seconds <bot>bored
+10 seconds <bot>bored
+10 seconds <bot>bored
+10 seconds <bot>bored
+10 seconds <bot>bored
I wrote this code:

Code: Select all

bind pub - !annoy annoy

proc annoy {nick host handle chan text} {
  set i 0
  while { $i < 6 } {
        utimer 10 [list talk $chan $text]
  	incr i
	}
}

proc talk {chan text} {
 putquick "PRIVMSG $chan :$text"
}
But utimer is only waiting to print out the text the first time (I don't know why) and then the text goes as soon as possible. What am I doing wrong?
C
CP1832
Halfop
Posts: 68
Joined: Thu Oct 09, 2014 4:03 pm

Post by CP1832 »

I was given a solution. Here's the code if it helps.

Code: Select all

bind pub - !annoy annoy

proc annoy {nick uhost handle chan text} {
	global i

	if {![info exists i]} {
		set i 0
	}

	if {$i < 6} {
		putserv "privmsg $chan :$text"
		utimer 10 [list annoy $nick $uhost $handle $chan $text]
		incr i
	} else {
		set i 0
	}

return 1

}
Post Reply