2000-10-01 21:46:48 +00:00
|
|
|
#
|
|
|
|
|
# Perl interface to irssi functions.
|
|
|
|
|
#
|
|
|
|
|
|
|
|
|
|
package Irssi;
|
|
|
|
|
|
|
|
|
|
use strict;
|
2002-03-09 12:17:32 +00:00
|
|
|
use vars qw($VERSION $in_irssi @ISA @EXPORT @EXPORT_OK);
|
2000-10-01 21:46:48 +00:00
|
|
|
|
2001-12-07 22:18:39 +00:00
|
|
|
sub VERSION {
|
|
|
|
|
my $version = $_[1];
|
|
|
|
|
die "This script requires irssi version $version or later"
|
|
|
|
|
if ($version > version());
|
|
|
|
|
}
|
|
|
|
|
|
2001-12-10 20:23:50 +00:00
|
|
|
sub EXPORT_ALL () {
|
|
|
|
|
no strict 'refs';
|
|
|
|
|
@EXPORT_OK = grep { /[a-z]/ && defined *{$_}{CODE} } keys %Irssi::;
|
|
|
|
|
}
|
|
|
|
|
|
2002-03-09 12:17:32 +00:00
|
|
|
sub in_irssi {
|
|
|
|
|
return $in_irssi;
|
|
|
|
|
}
|
|
|
|
|
|
2001-10-20 19:52:07 +00:00
|
|
|
$VERSION = "0.9";
|
2000-10-01 21:46:48 +00:00
|
|
|
|
|
|
|
|
require Exporter;
|
|
|
|
|
require DynaLoader;
|
|
|
|
|
|
|
|
|
|
@ISA = qw(Exporter DynaLoader);
|
2001-01-06 21:59:28 +00:00
|
|
|
@EXPORT = qw(INPUT_READ INPUT_WRITE
|
|
|
|
|
MSGLEVEL_CRAP MSGLEVEL_MSGS MSGLEVEL_PUBLIC MSGLEVEL_NOTICES
|
|
|
|
|
MSGLEVEL_SNOTES MSGLEVEL_CTCPS MSGLEVEL_ACTIONS MSGLEVEL_JOINS
|
|
|
|
|
MSGLEVEL_PARTS MSGLEVEL_QUITS MSGLEVEL_KICKS MSGLEVEL_MODES
|
|
|
|
|
MSGLEVEL_TOPICS MSGLEVEL_WALLOPS MSGLEVEL_INVITES MSGLEVEL_NICKS
|
|
|
|
|
MSGLEVEL_DCC MSGLEVEL_DCCMSGS MSGLEVEL_CLIENTNOTICE MSGLEVEL_CLIENTCRAP
|
|
|
|
|
MSGLEVEL_CLIENTERROR MSGLEVEL_HILIGHT MSGLEVEL_ALL MSGLEVEL_NOHILIGHT
|
|
|
|
|
MSGLEVEL_NO_ACT MSGLEVEL_NEVER MSGLEVEL_LASTLOG
|
|
|
|
|
);
|
2000-10-01 21:46:48 +00:00
|
|
|
@EXPORT_OK = qw();
|
|
|
|
|
|
2002-03-09 12:17:32 +00:00
|
|
|
my $static = 0;
|
2000-10-01 21:46:48 +00:00
|
|
|
|
2002-03-09 12:17:32 +00:00
|
|
|
eval {
|
|
|
|
|
$static = Irssi::Core::is_static();
|
|
|
|
|
};
|
|
|
|
|
$in_irssi = $@ ? 0 : 1;
|
2000-11-25 23:05:50 +00:00
|
|
|
|
2002-03-09 12:17:32 +00:00
|
|
|
if (!in_irssi()) {
|
|
|
|
|
print "Warning: This script should be run inside irssi\n";
|
|
|
|
|
} else {
|
|
|
|
|
bootstrap Irssi $VERSION if (!$static);
|
2001-10-20 13:19:25 +00:00
|
|
|
|
2002-03-09 12:17:32 +00:00
|
|
|
@Irssi::Channel::ISA = qw(Irssi::Windowitem);
|
|
|
|
|
@Irssi::Query::ISA = qw(Irssi::Windowitem);
|
|
|
|
|
|
|
|
|
|
Irssi::init();
|
|
|
|
|
|
|
|
|
|
Irssi::EXPORT_ALL();
|
|
|
|
|
}
|
2001-12-10 20:23:50 +00:00
|
|
|
|
2000-10-01 21:46:48 +00:00
|
|
|
1;
|
|
|
|
|
|