; Scoop user's last message from #source to #target on *:TEXT:!scoopuser *:#target: var %targetuser = $2 var %sourcechan = $3 var %lines = $lines(%sourcechan.log) ; Assumes logging is on var %lastline = $read(%sourcechan.log, %lines) if (%targetuser isin %lastline) msg #target Scooped from %sourcechan : %lastline
; ---- Web Scoop (Full Page Parser) ---- alias performWebScoop var %url = $1 if (%url !isurl) return sockopen scoopweb %url 80 scoop script mirc
if (name="description" isin %data) && (%desc == $null) %desc = $regsubex(%data, /content="([^"]+)"/, \t) %desc = %desc ; Scoop user's last message from #source to
; ---- System Info Scoop ---- alias performSysScoop var %cpu = $comvar($comcreate("Win32_PerfFormattedData_PerfOS_Processor"),PercentProcessorTime,5) var %ram = $comvar($comcreate("Win32_OperatingSystem"),TotalVisibleMemorySize,1) var %freeram = $comvar($comcreate("Win32_OperatingSystem"),FreePhysicalMemory,1) msg # 💻 SysScoop ▸ CPU: %cpu% ▸ RAM: $round($calc( (%freeram / %ram) * 100 ),1)% free hadd ScoopDB last_scoop CPU: %cpu% RAM: %freeram / %ram \t) %desc = %desc
; ---- Main Command Parser ---- on *:TEXT:!scoop *:#: var %cmd = $2 var %arg = $3- if (%cmd == web) performWebScoop %arg elseif (%cmd == song) performSongScoop elseif (%cmd == sysinfo) performSysScoop elseif (%cmd == last) recallLastScoop else sysinfo
on :sockread:scoop : var %data sockread %data if (<title> isin %data) var %title = $gettok(%data,2,60) ; 60 = ascii code for '<' %title = $remove(%title,</title>) msg # Title scooped: %title sockclose $sockname
on :sockopen:scoop : if ($sockerr) echo -a Error connecting. sockwrite -n $sockname GET / HTTP/1.1 sockwrite -n $sockname Host: $sock($sockname).addr sockwrite -n $sockname $crlf $+ $crlf