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.

relay tcl support

Support & discussion of released scripts, and announcements of new releases.
Post Reply
F
Football
Master
Posts: 205
Joined: Fri Dec 26, 2008 3:08 pm
Location: Quakenet, #Football

relay tcl support

Post by Football »

hey, could anyone modify this to relay with a designated color picked by me? would be nice if it could also scan the word.txt and relay a text that contains more than one word in the same line on word.txt, currently it scans word.txt. Please help.

Code: Select all

# Set here, the channel you want the bot to listen for messages on                        

set mchan "#FootballScores" 

# Set here, the channel you want the messages to be relayed to.                            

set rchan "#EPL" 

# Add a word for relay 
bind pub n|o !addword addword 

# View a list of your relays 
bind pub o|o !relays relays 

# Clear all relays from words.txt 
bind pub o|o !relayclr msgclear 

# This is what searches for and relays lines 
bind pubm * * relay_to_chan 

# Delete a relay word from file 
bind pub n|o !delword delword 

proc addword {nick host hand chan text} { 
 global mchan 
    if {[string equal -nocase $chan $mchan]} { 
 set mfs "words.txt" 
        set word [join [lindex [split $text] 0]] 
        if {![file exists $mfs]} { 
            close [open $mfs w] 
        } 
        set fs [open $mfs] 
        set data [read -nonewline $fs] 
  close $fs 
        if {![string length $data]} { 
            set fs [open $mfs w] 
        } else { 
            set fs [open $mfs a] 
        } 
 puts $fs "$word" 
  close $fs 
   putserv "NOTICE $nick :Relay added: $word" 
    } 
 return 
} 

proc relays {nick host hand chan text} { 
    set fs [open "words.txt"] 
    set data [read -nonewline $fs] 
  close $fs 
    if {![string length $data]} { 
  putserv "NOTICE $nick :I don't currently have any messages to relay." 
 return 0 
    } 
  putserv "NOTICE $nick :My list of relay messages is as follows:" 
    set fs [open "words.txt"] 
  seek $fs 0 start 
    while {[gets $fs line] >= 0} { 
  puthelp "NOTICE $nick :$line" 
    } 
 close $fs 
} 

proc msgclear {nick host hand chan text} { 
    close [open "words.txt" w] 
} 

proc relay_to_chan {nick host hand chan text} { 
  global mchan rchan 
        if {[string equal -nocase $chan $mchan]} { 
 set fs [open "words.txt"] 
   seek $fs 0 start 
     while {[gets $fs line] >= 0} { 
         if {[regexp -nocase ".*$line.*" [join [lrange [split $text] 0 end]] match]} { 
   putserv "PRIVMSG $rchan :$match" 
         } 
   } 
 close $fs 
 return 
        } 
 return 
} 

proc delword {nick host hand chan text} { 
 global mchan 
    if {[string equal -nocase $chan $mchan]} { 
 set word [lindex [split $text] 0] 
 set fs [open "words.txt"] 
 set words [split [read -nonewline $fs] \n] 
   close $fs 
 set match [lsearch -exact $words $word] 
 set fs [open "words.txt" w] 
 set newwords [lreplace $words $match $match] 
   puts $fs [join $newwords "\n"] 
   close $fs 
    putserv "NOTICE $nick :Relay deleted: $word." 
    } 
   return 
} 
Idling at #Football, Quakenet.
Post Reply