;; ZNC Buffer Replacement Script ;; By Clontarf[X] a.k.a dematerialised ;; ;; Script Notes ;; --------------------------------------- ;; $1 = Timestamp ;; $2 = User/Hostname ;; $3 = Content (Text, Events) on START: { echo $color(info) -st -ClonnyServer IRC- ZNC Buffer Replacement Script by dematerialised } set %awaybuffer.playback 0 on ^*:TEXT:*:#: { ;; Begin Buffer Playback :startbuffer if ($nick == ***) && ($2 == Playback...) { haltdef set %awaybuffer.playback 1 echo -m $chan 8[4------------------------------ 8ZNC BUFFER BEGIN 4------------------------------8] } ;; Are we still playing the buffer? We don't need to check this if we are using the default ZNC nicks (*buffextras, ***) ;; if (%awaybuffer.playback == 0) halt ;; Chat ;;Halt all text sent from *** if ($nick != *buffextras) && (%awaybuffer.playback == 1) { if ($nick == ***) && ($2 == Playback...) { haltdef halt } if ($nick == ***) && ($2 == Complete.) { haltdef set %awaybuffer.playback 0 echo -m $chan 8[4------------------------------ 8ZNC BUFFER ENDED 4------------------------------8] } if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(normal) $+ $1 < $+ $nick $+ > $2- .timestamp -g [HH:nn:ss] :halt } ;; Actions ;; * nickname [01:36:27] test ;; Join if ($nick == *buffextras) && (joined isin $3) { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(join) $+ $1 * $gettok($2,1,33) ( $+ $gettok($2,2,33) $+ ) joined $chan .timestamp -g [HH:nn:ss] :halt } ;; Parted if ($nick == *buffextras) && (parted isin $3) { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(part) $+ $1 * $gettok($2,1,33) ( $+ $gettok($2,2,33) $+ ) parted $chan $6- .timestamp -g [HH:nn:ss] :halt } ;; Quit if ($nick == *buffextras) && (quit isin $3) { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(quit) $+ $1 * $gettok($2,1,33) ( $+ $gettok($2,2,33) $+ ) quit $6- .timestamp -g [HH:nn:ss] :halt } ;; Kicks ;; Differentiate between ChanOP and an OP for Austnet if ($nick == *buffextras) && (ChanOP isin $gettok($2,1,33)) && (kicked isin $3) { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(kick) $+ $1 * $gettok($2,1,33) ( $+ $gettok($6,2,91) $+ ) kicked $4 with reason " $+ $6- $+ " .timestamp -g [HH:nn:ss] :halt } if ($nick == *buffextras) && (ChanOP !isin $gettok($2,1,33)) && (kicked isin $3) { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(kick) $+ $1 * $gettok($2,1,33) kicked $4 with reason " $+ $6- $+ " .timestamp -g [HH:nn:ss] :halt } ;; Modes if ($nick == *buffextras) && (mode: isin $4) { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(mode) $+ $1 * $gettok($2,1,33) ( $+ $gettok($2,2,33) $+ ) set mode $5- .timestamp -g [HH:nn:ss] :halt } ;; Nicks ;; <*buffextras> [22:03:17] ShadowLurker!somehow@a6168522.p0lic3.b0unc3mym1rc.com is now known as LawnMower if ($nick == *buffextras) && (is isin $3) && (now isin $4) && (known isin $5) && (as isin $6) { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(nick) $+ $1 * $gettok($2,1,33) ( $+ $gettok($2,2,33) $+ ) is now known as $7 .timestamp -g [HH:nn:ss] :halt } } ;; Actions ;; [08:17:20] * Sluttydrop [01:38:07] wins tous and dirk on ^*:ACTION:*:#: { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(action) $+ $1 * $nick $2- .timestamp -g [HH:nn:ss] :halt halt } ;; Notices ;; -waia.wa.au.austnet.org:#sex- [02:47:43] *** ChanOP invited ISeeDumbPeople into the channel on ^*:NOTICE:*:#: { if (%awaybuffer.playback == 0) goto halt haltdef .timestamp -g  echo -m $chan  $+ $color(notice) $+ - $+ $nick $+ - $2- .timestamp -g [HH:nn:ss] :halt halt } on *:TEXT:#:*: { :endbuffer if ($nick == ***) && ($2 == Complete.) { set %awaybuffer.playback 0 haltdef echo -m $chan 8[4------------------------------ 8ZNC BUFFER ENDED 4------------------------------8] } }