All pastes #803832 Raw Edit

Someone

public text v1 · immutable
·published 2007-12-02 17:42 UTC
rendered paste body
alias 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 }
  }
}