0 LIKES
Snippet
Buzzen Nick/Address Logger
In Category Buzzen Posted by err0r On 09/06/10
This is an old nick logger that I made for buzzen. Keeps up with the last 5 nick changes. It also has custom @window to view and search entries.
Feel free to use/edit/re-release this however you choose.
Feel free to use/edit/re-release this however you choose.
;;;;;;;;;;;;;;;;;;;;;;;;;;;; ;;; NickLogger v1.2 ;;; ;;; Created by err0r ;;; ;;; http://www.tg007.net ;;; ;;;;;;;;;;;;;;;;;;;;;;;;;;;; menu channel { History Per Chan .$iif($istok(%History.Log,$chan,44),$style(1)) Log $chan : $iif($istok(%History.Log,$chan,44),set %History.Log $remtok(%History.Log,$chan,1,44),set %History.Log $addtok(%History.Log,$chan,44)) .$iif($istok(%History.Msg,$chan,44),$style(1)) Msg Room : $iif($istok(%History.Msg,$chan,44),set %History.Msg $remtok(%History.Msg,$chan,1,44),set %History.Msg $addtok(%History.Msg,$chan,44)) .$iif($istok(%History.Echo,$chan,44),$style(1)) Echo Room : $iif($istok(%History.Echo,$chan,44),set %History.Echo $remtok(%History.Echo,$chan,1,44),set %History.Echo $addtok(%History.Echo,$chan,44)) History Global Settings .$iif(%History.NoGuest,$style(1)) No Guest Log : $iif(%History.NoGuest,unset %History.NoGuest,set %History.NoGuest on) .$iif(%History.NoGhost,$style(1)) No Ghost Log : $iif(%History.NoGhost,unset %History.NoGhost,set %History.NoGhost on) .- .Clear Log : hfree history | $iif($exists(historyhash.txt),/remove -d historyhash.txt) | hmake history 500 .View Log : historylog - } on *:start: { hmake history 100 | if ($exists(historyhash.txt)) { hload history historyhash.txt } } on *:exit: { hsave -o history historyhash.txt | hfree history } on !*:JOIN:#:{ if ((!$istok(%History.Log,$chan,44)) || (%History.Join)) { halt } if (%History.NoGuest) && ($left($nick,1) == >) { halt } set -eu2 %History.Join on if ($hget(history,$address($nick,1))) { if (%History.NoGhost) { var %hs 1 while ($gettok($hget(history,$address($nick,1)),%hs,44)) { if ($regsubex($nick, /[0-9]+$/gi,$null) == $v1) { set %match yes } | inc %hs } } if (!%match) { if (!$istok($hget(history,$address($nick,1)),$nick,44)) { if ($istok(%History.Msg,$chan,44)) { msg $chan $nick has made a nick change. Previous $iif($gettok($hget(history,$address($nick,1)),2,44),nicks have been,nick was) $replace($sorttok($hget(history,$address($nick,1)),44,c),$chr(44),$chr(44) $chr(32)) } if ($istok(%History.Echo,$chan,44)) { echo $chan 7 $nick has made a nick change. Previous $iif($gettok($hget(history,$address($nick,1)),2,44),nicks have been,nick was) $replace($sorttok($hget(history,$address($nick,1)),44,c),$chr(44),$chr(44) $chr(32)) } if ($numtok($hget(history,$address($nick,1)),44) >= 5) { hadd -m history $address($nick,1) $+($deltok($hget(history,$address($nick,1)),1,44),$chr(44),$nick) } else { hadd -m history $address($nick,1) $+($hget(history,$address($nick,1)),$chr(44),$nick) } } } } else { if ($istok(%History.Msg,$chan,44)) { msg $chan Haven't seen you before $nick ( logged ) } | hadd -m history $address($nick,1) $nick } hsave -o history historyhash.txt | unset %match } menu @historylog { Search: $iif(!$dialog(search),dialog -m hsearch hsearch) Remove Selected: { /hdel -s history $gettok($sline(@historylog,1),4,32) | historylog } Clear Log: { hfree history | $iif($exists(historyhash.txt),/remove -d historyhash.txt) | hmake history 500 | historylog } } alias historylog { if (!$window(@historylog)) { /window -blk -t2,21 +benstx @historylog verdana 11 } clear @historylog | aline @historylog $chr(9) Address $chr(9) Logged Nicks | aline @historylog $chr(160) %hh = 1 | %hhn = $hget(history, 0).item while (%hh <= %hhn) { aline -p @historylog $+(14,%hh,.) $chr(9) 1 $hget(history,%hh).item $chr(9) 1 $hget(history,%hh).data | inc %hh } } dialog hsearch { title "History Search" size -1 -1 150 25 option dbu edit "", 1, 2 2 145 10 button "Search/Find Next", 2, 3 13 50 10 button "Close", 4, 105 13 41 10 button "Remove Selected", 3, 54 13 50 10 } on *:DIALOG:hsearch:sclick:2: { if (%hsearch.item != $did(hsearch,1).text) { set %hsearch.item $did(hsearch,1).text | set %hsearch.start 0 | set %hsearch.num $fline(@historylog,* $+ %hsearch.item $+ *,0,1) } set %hsearch.start $calc(%hsearch.start +1) if (%hsearch.start > %hsearch.num) { $input(End of Search,uodw,Attention!) | halt } /sline -s @historylog $fline(@historylog,* $+ %hsearch.item $+ *, $+ %hsearch.start $+ ,1) } on *:dialog:hsearch:sclick:3: { if ($gettok($sline(@historylog,1),4,32)) { /hdel -s history $gettok($sline(@historylog,1),4,32) | unset %hsearch.* | dialog -x hsearch | historylog } } on *:dialog:hsearch:sclick:4: { unset %hsearch.* | dialog -x hsearch } on *:dialog:hsearch:close:*: { unset %hsearch.* }
Comments 0
You must be logged in to comment.