http://perl.lt/buf :: /Kodas/buf.pl - Išsaugo irssi lange esantį tekstą (tiek kiek atmintyje laiko pats irssi)./


#######################################################################
# buf.pl
# - save window buffer -
# Author: Saulius <saulius@tornado.ktu.lt>
#######################################################################

use strict;
use Irssi;
use vars qw($VERSION %IRSSI);
$VERSION = '1.00';
%IRSSI   = (
    author      => 'Saulius',
    contact     => 'saulius@tornado.ktu.lt',
    name        => 'savebuf',
    description => 'Save window buffer',
    license     => 'Free',
    changed     => '2003-11-13',
);

sub cmd_savebuf {
    my ( $bbz, $server, $nick ) = @_;

    $nick = $nick->{name};
    $nick =~ s/\W//g;

    my $actwin = Irssi::active_win();
    my $line   = $actwin->view()->get_lines();

    open( F, ">>$nick.buf" );
    if ( defined $line ) {
        {    # be spalvu get_text(0); (1) su spalvom:
            my $text = $line->get_text(0);
            print F "$text\n";

            $line = $line->next();
            redo if defined $line;
        }
    }
    close(F);
    Irssi::print("+Buffer for $nick saved.");
}

Irssi::command_bind( 'savebuf', 'cmd_savebuf' );


2005.04.11 - 2012.05.18 © algirdas@perl.lt