Hi rotz
Da ich auch keine derartige liste in xchat entdecken konnte habe ich kurzerhand selbst ein script geschrieben das diese funktion uebernimmt.
erstell einfach eine datei "perform.pl" in deinem xchat2 verzeichnis (/home/rotz/.xchat2/perform.pl) und kopier folgenden code hinein:
Code:
#!/usr/bin/perl -w
my $ver = "v1.0";
my $home = "/home/rotz/";
IRC::register("Perform Script $ver by Phantom", "$ver", "", "");
IRC::print("--- Perform Script $ver by Phantom loaded!\n");
IRC::print("--- Try '\002\00315/perform help\002\00300' for details\n");
IRC::add_command_handler("perform", "perform");
IRC::add_message_handler("001", "execute");
sub perform() {
@elem = split(/ /, shift(@_));
if($elem[0] eq "help") {
&listhelp();
} elsif($elem[0] eq "add") {
$elem[0] = "";
&addline(join(" ", @elem));
} elsif($elem[0] eq "del") {
&delline($elem[1]);
} elsif($elem[0] eq "list") {
&listlines();
} elsif($elem[0] eq "") {
&execlines();
} else {
IRC::print("--- Unknown command! Use '\002\00315/perform help\002\00300' to see the commands available\n");
}
return(1);
}
sub execute() {
&execlines();
}
sub listhelp() {
IRC::print("--- Perform Script $ver by Phantom\n");
IRC::print("--- Available commands are:\n");
IRC::print("--- add <line> - Add a new line\n");
IRC::print("--- del <num> - Deletes a line\n");
IRC::print("--- list - Shows all lines\n\n");
IRC::print("--- Without any argument, i'll execute all commands in your list\n");
}
sub listlines() {
$x = 0;
open(fp, "$home.xchat2/.perflines") or `touch $home.xchat2/.perflines`;
@lines = <fp>;
close(fp);
IRC::print("--- Listing commands");
foreach $line (@lines) {
chop($line);
if(length($line) > 0) {
$x++;
$num = &formatnum($x);
IRC::print("\002\00315$num\002\00300 $line");
}
}
if($x <= 0) {
IRC::print("--- No entries found!");
IRC::print("--- You can add commands using '\002\00315\/perform add <command> <args>\002\00300'");
} else {
IRC::print("--- $x lines found!");
}
return(1);
}
sub addline() {
$line = shift;
if(substr($line, 0, 1) eq " ") {
substr($line, 0, 1) = "";
}
$res = `echo \"$line\" >> ~/.xchat2/.perflines`;
IRC::print("--- Added '\002\00315$line\002\00300'\n");
return(1);
}
sub delline() {
$num = shift;
$x = 0;
open(fp, "$home.xchat2/.perflines") or `touch $home.xchat2/.perflines`;
@lines = <fp>;
close(fp);
my @l = ();
foreach(@lines) {
chop($_);
if(length($_) > 0) {
push(@l, $_);
}
}
if($#l>= ($num -1)) {
IRC::print("--- Deleted '\002\00315$l[$num -1]\002\00300'\n");
$l[$num - 1] = "";
open(fp, ">$home.xchat2/.perflines") or `touch $home.xchat2/.perflines`;
foreach $line(@l) {
print fp "$line\n";
}
close(fp);
} else {
IRC::print("--- Invalid index!\n");
}
}
sub formatnum() {
$num = shift;
if(length($num) == 1) {
$ret = " $num";
return($ret);
} else {
return($num);
}
}
sub execlines() {
open(fp, "$home.xchat2/.perflines") or `touch $home.xchat2/.perflines`;
@lines = <fp>;
close(fp);
foreach $line(@lines) {
chop($line);
if(length($line) > 0) {
IRC::send_raw("$line\n");
}
}
}
nach einem neustart von xchat oder der eingabe von /load .xchat2/perform.pl kannst du es sofort nutzen, erklaert sich eigendlich von selbst.
Gruss
Phantom
Nachtrag: Was die Channel modes angeht, die stehen oben rechts neben dem feld fuer das topic.
Lesezeichen