rendered paste bodyModify for your own purposes.
menu menubar {
RSS News Feed
.VCD
..$submenu($RSSparsemenu($1, VCD))
.-
.Retrieve headlines: retrieveHeadlines
}
alias -l retrieveHeadlines {
getRSSfeed VCD www.vcdquality.com/lastx.php?type=4&num=10&genre=1
}
on *:connect:{ retrieveHeadlines }
alias RSSparsemenu {
if (e isin $1) return
if ($1 < 2) return :
var %str = $hget(RSS_ $+ $2, $1), $&
%title = $wildtok(%str, title:*, 1, 1), $&
%link = $wildtok(%str, link:*, 1, 1)
%title = $gettok(%title, 2-, 58)
%link = $gettok(%link, 2-, 58)
return $replace(%title, :, -) :url -n %link
}
; /getRSSfeed <source> <url>
alias getRSSfeed {
var %a, %b
%a = $gettok($2, 1, 47)
%b = $gettok($2, 2-, 47)
sockopen %a %a 80
sockmark %a RSS_ $+ $1 %b
echo Connecting to %a
if ($hget(RSS_ $+ $1)) hfree RSS_ $+ $1
}
on *:sockopen:*:{
tokenize 32 $sock($sockname).mark
if (RSS_* !iswm $1) { return }
if ($sockerr) {
echo Closed socket $sockname $sock($sockname).wsmsg
return
}
echo Attempting to retrieve $2-
sockwrite -n $sockname GET / $+ $2- HTTP/1.0 $+ $crlf $+ $crlf
unset %rsspop
}
on *:sockread:*:{
tokenize 32 $sock($sockname).mark
if (RSS_* !iswm $1) { return }
if ($sockerr > 0) return
:nextread
sockread %RSSread
if ($sockbr == 0) return
if (%RSSread == $null) %RSSread = -
var %r = .*\<(title|link)\>(.*)\<\/(title|link)\>.*
if ($regex(%RSSread, %r)) {
set %rsspop $addtok(%rsspop, $regml(1) $+ : $+ $regml(2), 1)
if ($numtok(%rsspop, 1) == 2) {
hadd -m $1 $calc($hget($1, 0).item + 1) %rsspop
.msg #absolute-chat %rsspop
unset %rsspop
}
}
goto nextread
}
on *:sockclose:*:{
if ($sockerr) echo Closed socket $sockname ( $+ $sock($sockname).wsmsg $+ )
else echo Closed socket $sockname
}
on *:TEXT:*:*:{
if ($1 == !rss ) {
/getRSSfeed VCD www.vcdquality.com/lastx.php?type=4&num=10&genre=1
}
}