rendered paste bodyalias msn {
sockclose msn
sockopen msn news.msn.co.il 80
}
on *:sockopen:msn:{
var %a = sockwrite -n $sockname
%a GET / HTTP/1.1
%a Host: news.msn.co.il
%a Keep-Alive: 300
%a Connection: keep-alive
%a
}
on *:sockread:msn:{
var %data
sockread %data
while $sockbr {
if %msn {
noop $regex(%data,/<span class=w1>(.+?)<\/span>/)
var %time = $regml(1)
noop $regex(%data,/<span><a href="(.+?)" .+?>(.+?)<\/a>/)
var %link = http://news.msn.co.il/ $+ $regml(1)
if $regml(2) != %news {
set %news $regml(2)
msg %msnchan 10M14sn-10N14ews:10 ( $+ %time $+ )10 [07 %news 10] [14 %link 10]
}
unset %msn
}
if <div id="gNewsA"> == %data { set %msn 1 }
sockread %data
}
}
on *:text:!msn *:%msnchan:{
if $2 == on && !$3 { .timermsn 0 60 msn | .notice $nick Msn-News Update on - checking every minute. | .msg %msnchan 1-News- 10M14sn-10N14ews 10U14pdate 10I14s 10ON N14ow. 1-News- }
elseif $2 == on && $3 isnum { .timermsn 0 $3 msn | .notice $nick Msn-News Update on - checking every $calc($3 /60) minutes. | .msg %msnchan 1-News- 10M14sn-10N14ews 10U14pdate 10I14s 10ON N14ow. 1-News- }
elseif $2 == off { .timermsn off | .notice $nick Msn-News Update off. | .msg %msnchan 1-News- 10M14sn-10N14ews 10U14pdate 10I14s 10off N14ow. 1-News- }
}
menu channel {
Msn-News $iif($timer(msn),off,on) $+ :{
if !$timer(msn) {
set %msnchan $chan
var %n = $?="How often should I check? (in minutes)"
timermsn 0 $iif($calc(%n *60),$ifmatch,180) msn
}
else { timermsn off | unset %msn chan }
}
}