mimeenc.pl


use Irssi;
use vars qw($VERSION %IRSSI);
$VERSION = '1.0';
%IRSSI = (
    authors     => 'Valentin Batz',
    contact     => 'vb@g-23.org',
    name        => 'mimeenc',
    description => 'adds the ability to encode/decode base64 messages',
    license     => 'GPLv2',
    url		=> 'http://www.oberkommando.org/~senneth/irssi/scripts/',
    commands	=> 'mimesay decode encode',
    revision 	=> '$LastChangedRevision: 372 $',
    changed	=> '$LastChangedDate: 2006-01-31 22:42:42 +0100 (Di, 31 Jan 2006) $',
);
use MIME::Base64;
use strict;

sub encode {
        my ($data, $server, $witem) = @_;
        my $final = encode_base64($data,'');
	$final =~ s/[\r|\n]//gi;
        if (not $witem) {
                Irssi::print("[mime] ".$final, MSGLEVEL_CRAP)
        }
        else {
                $witem->print("[mime] ".$final, MSGLEVEL_CRAP);
        }
}
sub decode {
        my ($data, $server, $witem) = @_;
        my $final = decode_base64($data);
	$final =~ s/[\r|\n]//gi;
	if (not $witem) {
		Irssi::print("[decoded] ".$final, MSGLEVEL_CRAP)
	}
	else {
	        $witem->print("[decoded] ".$final, MSGLEVEL_CRAP);
	}
}

sub mimesay {
        my ($data, $server, $witem) = @_;
        my $final = encode_base64($data,'');
        $final =~ s/[\r|\n]//gi;
	return unless $witem;
        $witem->command("say ".$final);
}

Irssi::command_bind('decode', \&decode);
Irssi::command_bind('encode', \&encode);
Irssi::command_bind('mimesay', \&mimesay);