Simple eggdrop tcl script to return random movie quotes from a file. I haven’t fully tested this, it’s partially copied from a working script with some stuff removed that isn’t necessary. Posted because someone was asking how it worked in the IRC channel.
[sourcecode language=”shell”]
#create the bind to allow the !movie (and aliases) to get a quote
bind pub – "!movie" myscript::quotes::movie
bind pub – "!film" myscript::quotes::movie
bind pub – "!quote" myscript::quotes::movie
namespace eval myscript {
variable version "0.4"
# file with the quotes, must be in the same directory as the script
variable quotefile "quotes.txt"
proc randline {file} {
if {[catch {open scripts/$file r} fs]} {
putlog "Failed to open scripts/$file"
return ""
} else {
variable data [read -nonewline $fs]
close $fs
variable data [split $data \n]
return [lindex $data [rand [llength $data]]]
}
}
namespace eval quotes {
proc movie {nick uhost hand chan text} {
variable aquote [myscript::randline $myscript::quotefile]
puthelp "privmsg $chan :$myscript::quotes::aquote"
return 0
}
}
}
putlog "Loaded: MyScript v$myscript::version"
[/sourcecode]