Code: Select all
# Author: tomekk
# e-mail: tomekk/@/oswiecim/./eu/./org
# home page: http://tomekk.oswiecim.eu.org/
#
# Version 0.1
#
# This file is Copyrighted under the GNU Public License.
# http://www.gnu.org/copyleft/gpl.html
# channels for !fmylife
set fmylife_channels {#channel1 #channel2}
# time between use !fmylife (seconds)
set fmylife_reuse_time 20
###########################################################
bind pub - !fmylife fm_main_proc
package require http
proc get_fmylife { } {
set f_http_uagent "Opera/9.61 (Windows i686; U; en) Presto/2.1.1"
set f_http_token [http::config -useragent $f_http_uagent]
if {[catch {set f_http_token [::http::geturl "http://www.fmylife.com/random" -timeout 10000]}]} {
return "error"
} {
return [http::data $f_http_token]
}
}
set fmylife_reuse 1
proc fm_main_proc { nick uhost hand chan arg } {
global fmylife_channels fmylife_reuse fmylife_reuse_time
if {[expr [clock seconds] - $fmylife_reuse] <= $fmylife_reuse_time} {
putquick "PRIVMSG $chan :$nick: to fast, sorry"
return
}
if {[lsearch $fmylife_channels $chan] == -1} {
return
}
set fm_quote ""
set fm_link ""
set fm_quote [get_fmylife]
if {($fm_quote == "error") || ($fm_quote == "")} {
putquick "PRIVMSG $chan :problem with connection, try again later, sorry"
return
}
regsub -all -nocase "\n" $fm_quote "" fm_quote
regsub -all -nocase "\r" $fm_quote "" fm_quote
regsub -all -nocase "\t" $fm_quote "" fm_quote
# 1st quote
regsub -nocase {.*<div\s+class=\"post\"><p>(.+)</p><div\s+class=\"date\"\s+style=\"float:left;\">.*} $fm_quote {\1} fm_quote
# 1st link
regsub -nocase {.*<a\s+href=\"([a-z0-9\/ ]+)\"\s+class=\"fmllink\">.*} $fm_quote {\1} fm_link
# del rest of links from quote
regsub -all -nocase {<a\s+href=\"[a-z0-9\/ ]+\"\s+class=\"fmllink\">} $fm_quote "" fm_quote
# the rest of useless tags
regsub -all -nocase "<\/a>" $fm_quote "" fm_quote
set fm_link "http://www.fmylife.com$fm_link"
if {[regexp -nocase {http:\/\/www\.fmylife\.com[a-z0-9\/ ]+} $fm_link]} {
putquick "PRIVMSG $chan :$fm_quote"
putquick "PRIVMSG $chan :--| $fm_link"
set fmylife_reuse [clock seconds]
} {
putquick "PRIVMSG $chan :some problem with data, try again later, sorry"
}
}
putlog "fmylife-quote.tcl ver 0.1 by tomekk loaded"
Code: Select all
# Author: tomekk
# e-mail: tomekk/@/oswiecim/./eu/./org
# home page: http://tomekk.oswiecim.eu.org/
#
# Version 0.2
#
# This file is Copyrighted under the GNU Public License.
# http://www.gnu.org/copyleft/gpl.html
# channels for !fmylife
set fmylife_channels {#channel #channel2}
# time between use !fmylife (seconds)
set fmylife_reuse_time 20
# auto query
# 0 - off, 1 - on
set fmylife_auto_query 0
# set auto query interval (minutes)
set fmylife_auto_interval 30
###########################################################
bind pub - !fmylife fm_main_proc
package require http
proc get_fmylife { } {
set f_http_uagent "Opera/9.61 (Windows i686; U; en) Presto/2.1.1"
set f_http_token [http::config -useragent $f_http_uagent]
if {[catch {set f_http_token [::http::geturl "http://www.fmylife.com/random" -timeout 10000]}]} {
return "error"
} {
return [http::data $f_http_token]
}
}
set fmylife_reuse 1
proc fmylife_timer { } {
global fmylife_auto_interval
fm_auto_proc
if {[string match *fmylife_timer* [timers]] != 1} {
timer $fmylife_auto_interval fmylife_timer
}
}
proc fm_auto_proc { } {
global fmylife_channels
set fm_quote ""
set fm_quote [get_fmylife]
if {($fm_quote == "error") || ($fm_quote == "")} {
putlog "auto-quote-fmylife: problem with connection"
return
}
foreach fm_each_chan [split $fmylife_channels] {
if {$fm_each_chan != ""} {
set fm_each_chan [string trim $fm_each_chan]
if {[botonchan $fm_each_chan]} {
fmylife_print $fm_quote $fm_each_chan
}
}
}
}
proc fm_main_proc { nick uhost hand chan arg } {
global fmylife_channels fmylife_reuse fmylife_reuse_time
if {[expr [clock seconds] - $fmylife_reuse] <= $fmylife_reuse_time} {
putquick "PRIVMSG $chan :$nick: to fast, sorry"
return
}
if {[lsearch $fmylife_channels $chan] == -1} {
return
}
set fm_quote ""
set fm_quote [get_fmylife]
if {($fm_quote == "error") || ($fm_quote == "")} {
putquick "PRIVMSG $chan :problem with connection, try again later, sorry"
return
}
fmylife_print $fm_quote $chan
}
proc fmylife_print { fm_data fm_chan } {
set fm_link ""
regsub -all -nocase "\n" $fm_data "" fm_data
regsub -all -nocase "\r" $fm_data "" fm_data
regsub -all -nocase "\t" $fm_data "" fm_data
# 1st quote
regsub -nocase {.*<div\s+class=\"post\"><p>(.+)</p><div\s+class=\"date\"\s+style=\"float:left;\">.*} $fm_data {\1} fm_data
# 1st link
regsub -nocase {.*<a\s+href=\"([a-z0-9\/ ]+)\"\s+class=\"fmllink\">.*} $fm_data {\1} fm_link
# del rest of links from quote
regsub -all -nocase {<a\s+href=\"[a-z0-9\/ ]+\"\s+class=\"fmllink\">} $fm_data "" fm_data
# the rest of useless tags
regsub -all -nocase "<\/a>" $fm_data "" fm_data
set fm_link "http://www.fmylife.com$fm_link"
if {[regexp -nocase {http:\/\/www\.fmylife\.com[a-z0-9\/ ]+} $fm_link]} {
putquick "PRIVMSG $fm_chan :$fm_data"
putquick "PRIVMSG $fm_chan :--| $fm_link"
set fmylife_reuse [clock seconds]
} {
putquick "PRIVMSG $fm_chan :some problem with data, try again later, sorry"
}
}
if {$fmylife_auto_query != 0} {
if {[string match *fmylife_timer* [timers]] != 1} {
timer $fmylife_auto_interval fmylife_timer
}
}
putlog "fmylife-quote.tcl ver 0.2 by tomekk loaded"
Code: Select all
# Author: tomekk modiffied by Globulus
# e-mail: tomekk/@/oswiecim/./eu/./org
# home page: http://tomekk.oswiecim.eu.org/
#
# Version 0.3
#
# This Script extract quotes from http://www.fmylife.com/random
#
# This file is Copyrighted under the GNU Public License.
# http://www.gnu.org/copyleft/gpl.html
# channels for !fml
set fmylife_channels {#channel #channel2}
# time between use !fml (seconds)
set fmylife_reuse_time 5
# auto query
# 0 - off, 1 - on
set fmylife_auto_query 0
# set auto query interval (minutes)
set fmylife_auto_interval 30
###########################################################
bind pub - !fml fm_main_proc
package require http
proc get_fmylife { } {
set f_http_uagent "Opera/9.61 (Windows i686; U; en) Presto/2.1.1"
set f_http_token [http::config -useragent $f_http_uagent]
if {[catch {set f_http_token [::http::geturl "http://www.fmylife.com/random" -timeout 10000]}]} {
return "error"
} {
return [http::data $f_http_token]
}
}
proc fmylife_timer { } {
global fmylife_auto_interval
fm_auto_proc
if {[string match *fmylife_timer* [timers]] != 1} {
timer $fmylife_auto_interval fmylife_timer
}
}
proc fm_auto_proc { } {
global fmylife_channels
set fm_quote ""
set fm_quote [get_fmylife]
if {($fm_quote == "error") || ($fm_quote == "")} {
putlog "auto-quote-fmylife: problem with connection"
return
}
foreach fm_each_chan [split $fmylife_channels] {
if {$fm_each_chan != ""} {
set fm_each_chan [string trim $fm_each_chan]
if {[botonchan $fm_each_chan]} {
fmylife_print $fm_quote $fm_each_chan
}
}
}
}
proc fm_main_proc { nick uhost hand chan arg } {
global fmylife_channels fmylife_reuse fmylife_reuse_time
#Open file and read the variable
if { [file exists FMLClockFile] == 1 } {
set FileHandle [open FMLClockFile "r"]
set TempString [read $FileHandle]
close $FileHandle
set lines [split $TempString "\n"]
set fmylife_reuse [lindex $lines 0]
} else {
# Set the last clock to 1 initially
set fmylife_reuse 1
}
if {[expr [clock seconds] - $fmylife_reuse] <= $fmylife_reuse_time} {
putquick "NOTICE $nick : need to wait [expr [clock seconds] - $fmylife_reuse] sec before reusing..."
return
}
if {[lsearch $fmylife_channels $chan] == -1} {
return
}
set fm_quote ""
set fm_quote [get_fmylife]
if {($fm_quote == "error") || ($fm_quote == "")} {
putquick "PRIVMSG $chan :problem with connection, try again later, sorry"
return
}
fmylife_print $fm_quote $chan
}
proc fmylife_print { fm_data fm_chan } {
set fm_link ""
regsub -all -nocase "\n" $fm_data "" fm_data
regsub -all -nocase "\r" $fm_data "" fm_data
regsub -all -nocase "\t" $fm_data "" fm_data
# 1st quote
regsub -nocase {.*<div\s+class=\"post\"><p>(.+)</p><div\s+class=\"date\"\s+style=\"float:left;\">.*} $fm_data {\1} fm_data
# 1st link
regsub -nocase {.*<a\s+href=\"([a-z0-9\/ ]+)\"\s+class=\"fmllink\">.*} $fm_data {\1} fm_link
# del rest of links from quote
regsub -all -nocase {<a\s+href=\"[a-z0-9\/ ]+\"\s+class=\"fmllink\">} $fm_data "" fm_data
# the rest of useless tags
regsub -all -nocase "<\/a>" $fm_data "" fm_data
set fm_link "http://www.fmylife.com$fm_link"
if {[regexp -nocase {http:\/\/www\.fmylife\.com[a-z0-9\/ ]+} $fm_link]} {
putquick "PRIVMSG $fm_chan :$fm_data"
putquick "PRIVMSG $fm_chan :--| $fm_link"
set fmylife_reuse [clock seconds]
# Write the variable to file (remember opening with 'w' mode truncates the file contents)
set FileHandle [open FMLClockFile "w"]
puts $FileHandle $fmylife_reuse
close $FileHandle
} {
putquick "PRIVMSG $fm_chan :some problem with data, try again later, sorry"
}
}
if {$fmylife_auto_query != 0} {
if {[string match *fmylife_timer* [timers]] != 1} {
timer $fmylife_auto_interval fmylife_timer
}
}
putlog "fmylife-quote.tcl ver 0.3 by tomekk modified by Globulus loaded"
Code: Select all
global fmylife_reuse
Code: Select all
# Author: tomekk
# e-mail: tomekk/@/oswiecim/./eu/./org
# home page: http://tomekk.oswiecim.eu.org/
#
# Version 0.2
#
# This file is Copyrighted under the GNU Public License.
# http://www.gnu.org/copyleft/gpl.html
# channels for !fmylife
set fmylife_channels {#chan #chan2}
# time between use !fmylife (seconds)
set fmylife_reuse_time 20
# auto query
# 0 - off, 1 - on
set fmylife_auto_query 0
# set auto query interval (minutes)
set fmylife_auto_interval 30
###########################################################
bind pub - !fmylife fm_main_proc
package require http
proc get_fmylife { } {
set f_http_uagent "Opera/9.61 (Windows i686; U; en) Presto/2.1.1"
set f_http_token [http::config -useragent $f_http_uagent]
if {[catch {set f_http_token [::http::geturl "http://www.fmylife.com/random" -timeout 10000]}]} {
return "error"
} {
return [http::data $f_http_token]
}
}
set fmylife_reuse 1
proc fmylife_timer { } {
global fmylife_auto_interval
fm_auto_proc
if {[string match *fmylife_timer* [timers]] != 1} {
timer $fmylife_auto_interval fmylife_timer
}
}
proc fm_auto_proc { } {
global fmylife_channels
set fm_quote ""
set fm_quote [get_fmylife]
if {($fm_quote == "error") || ($fm_quote == "")} {
putlog "auto-quote-fmylife: problem with connection"
return
}
foreach fm_each_chan [split $fmylife_channels] {
if {$fm_each_chan != ""} {
set fm_each_chan [string trim $fm_each_chan]
if {[botonchan $fm_each_chan]} {
fmylife_print $fm_quote $fm_each_chan
}
}
}
}
proc fm_main_proc { nick uhost hand chan arg } {
global fmylife_channels fmylife_reuse fmylife_reuse_time
if {[expr [clock seconds] - $fmylife_reuse] <= $fmylife_reuse_time} {
putquick "PRIVMSG $chan :$nick: to fast, sorry"
return
}
if {[lsearch $fmylife_channels $chan] == -1} {
return
}
set fm_quote ""
set fm_quote [get_fmylife]
if {($fm_quote == "error") || ($fm_quote == "")} {
putquick "PRIVMSG $chan :problem with connection, try again later, sorry"
return
}
fmylife_print $fm_quote $chan
}
proc fmylife_print { fm_data fm_chan } {
global fmylife_reuse
set fm_link ""
regsub -all -nocase "\n" $fm_data "" fm_data
regsub -all -nocase "\r" $fm_data "" fm_data
regsub -all -nocase "\t" $fm_data "" fm_data
# 1st quote
regsub -nocase {.*<div\s+class=\"post\"><p>(.+)</p><div\s+class=\"date\"\s+style=\"float:left;\">.*} $fm_data {\1} fm_data
# 1st link
regsub -nocase {.*<a\s+href=\"([a-z0-9\/ ]+)\"\s+class=\"fmllink\">.*} $fm_data {\1} fm_link
# del rest of links from quote
regsub -all -nocase {<a\s+href=\"[a-z0-9\/ ]+\"\s+class=\"fmllink\">} $fm_data "" fm_data
# the rest of useless tags
regsub -all -nocase "<\/a>" $fm_data "" fm_data
set fm_link "http://www.fmylife.com$fm_link"
if {[regexp -nocase {http:\/\/www\.fmylife\.com[a-z0-9\/ ]+} $fm_link]} {
putquick "PRIVMSG $fm_chan :$fm_data"
putquick "PRIVMSG $fm_chan :--| $fm_link"
set fmylife_reuse [clock seconds]
} {
putquick "PRIVMSG $fm_chan :some problem with data, try again later, sorry"
}
}
if {$fmylife_auto_query != 0} {
if {[string match *fmylife_timer* [timers]] != 1} {
timer $fmylife_auto_interval fmylife_timer
}
}
putlog "fmylife-quote.tcl ver 0.2 by tomekk loaded"
cheers !22:13:48 <@tomekk> !fmylife
22:13:48 < botty> tomekk: to fast, sorry