Wikipedia:Scripts/Wikimedia RC Watcher

Wikimedia RC Watcher, v.1.0
on 1:TEXT:*:#: { ;Wikimedia RC Watcher, v.1.0 ;by User:Dbl2010 ;This script watches all the channels that user entered ;in irc.wikimedia.org IRC server and lists the live RC in a ;separate list window in a proper format. Right clicking on list ;window brings an easy access menu for selected edit. var %maxline 30

var %s $strip($1-) if ($left(%s,1) != $chr(91)) halt if ($nick != rc) halt var %e1 $pos(%s,]],1) var %tpc �15 $+ $chr(91) $+ $chr(91) $+ �07 $+ $mid(%s,3,$calc(%e1 - 3)) $+ �15 $+ $chr(93) $+ $chr(93)

if (Log/newusers isin %tpc) { if ($chan == #tr.wikipedia) isimsay $chan } var %s $right(%s,$calc($len(%s) - %e1 - 2)) var %e2 $pos(%s,http,1) var %NorM $chr(32) if (M isin $left(%s,%e2)) var %NorM $remove(%NorM,$chr32) $+ �4M if (N isin $left(%s,%e2)) var %NorM $remove(%NorM,$chr32) $+ �4N

var %s $right(%s,$calc($len(%s) - %e2 + 1)) var %url $left(%s,$pos(%s,$chr(32),1)) var %s $right(%s,$calc($len(%s) - $pos(%s,$chr(32),2))) var %user �03 $+ $left(%s,$calc($pos(%s,$chr(42),1) - 1)) var %s $right(%s,$calc($len(%s) - $pos(%s,$chr(42),1) - 1))

if ($left(%s,1) == $null ) halt if ($left(%s,1) == $chr(40)) {      ;This is an edit if ($pos(%s,$chr(32),1) == $null ) { var %byte %s var %summary $chr(32) }   else { var %byte $left(%s,$pos(%s,$chr(32),1)) var %summary �10 $+ $right(%s,$calc($len(%s) - $pos(%s,$chr(32),1))) } }  else { ; Special: halt } var %Wname @rc: $+ $remove($chan,$chr(35)) if ($window(%Wname) == $null) window -alk0 -t6,8,30,39,44,77 %Wname Tahoma 12 aline %Wname $timestamp $+ $chr(9) $+ %NorM $+ $chr(9) $+ %tpc $+ $chr(9) $+ %user $+ $chr(9) $+ %byte $& $+ $chr(9) $+ %summary $+ $chr(9) $+ %url if ($line(%Wname,0) == %maxline) dline %Wname 1 }

menu @rc:* { $ayikla($1-,3): { echo -s �04--- echo -s �07Page:� $ayikla($1-,3) echo -s �03User:� $ayikla($1-,4) echo -s Byte change: $ayikla($1-,5) echo -s �10Summary:� $ayikla($1-,6) echo -s �02URL:� $ayikla($1-,7) } -  Page: $baglan($1-,$menu,1) Diff: $baglan($1-,$menu,2) User $+ $chr(58) $+ $ayikla($1-,4) : $baglan($1-,$menu,3) User talk $+ $chr(58) $+ $ayikla($1-,4) : $baglan($1-,$menu,4) }

alias sfm { var %sitename $remove($1,rc:,@) $+ .org return %sitename }

alias ayikla { return $gettok($strip($1),$2,9) }

alias baglan { var %sayfa $strip($1) if ($3 == 1) { var %sayfa $gettok(%sayfa,3,9) var %sayfa $remove(%sayfa,$chr(91),$chr(93)) var %sayfa $replace(%sayfa,$chr(32),_) var %sayfa http:// $+ $sfm($2) $+ /wiki/ $+ %sayfa } elseif ($3 == 2) { var %sayfa $gettok(%sayfa,7,9) } elseif ($3 == 3) { var %sayfa $gettok(%sayfa,4,9) var %sayfa http:// $+ $sfm($2) $+ /wiki/User: $+ %sayfa } elseif ($3 == 4) { var %sayfa $gettok(%sayfa,4,9) var %sayfa http:// $+ $sfm($2) $+ /wiki/User_talk: $+ %sayfa }

url -a %sayfa }