Azet
Dołączył: 13 Lip 2010
Posty: 5
Przeczytał: 0 tematów
Ostrzeżeń: 0/5
|
Wysłany: Wto 23:14, 13 Lip 2010 Temat postu: Sekretarka by Azet ver. 0.2 |
|
|
Informuje osoby do nas piszące, że nas nie ma i zapisuje wiadomość do pliku .txt
Skrypt :
Kod: | use Irssi;
use Irssi::Irc;
use strict;
use POSIX qw/strftime/;
my $poczta = Irssi::get_irssi_dir() . "/scripts/poczta\.txt";
my $temp = Irssi::get_irssi_dir() . "/scripts/temp";
sub sig_public {
my ($server, $msg, $nick, $address, $channel) = @_;
$msg =~ s/\x03\d?\d?(,\d?\d?)?|\x02|\x1f|\x16|\x06|\x07//g;
if ($msg =~ m/Nick_1 (.+)$/i) {
my $time = strftime("%H:%M:%S", localtime());
my $s_temp = $1;
open(OPER, ">>$poczta");
print OPER "[$time] <$nick> $s_temp\n";
close(OPER);
$server->command("MSG $channel %Ce40f0f%Sekretarka: %C8800ab%$nick, teraz mnie nie ma, ale Twoja wiadomość: %C006699%[$time] <$nick> $s_temp %C8800ab%została zapisana.");
}
}
my ($server, $msg, $nick, $address, $channel) = @_;
$msg =~ s/\x03\d?\d?(,\d?\d?)?|\x02|\x1f|\x16|\x06|\x07//g;
if ($msg =~ m/^!poczta/i) {
return unless $nick eq 'Nick_2';
$server->command("MSG $channel $nick, %C0f2ab1%Wiadomości:");
open(LICZ, "<$poczta");
my @ilosc = ;
close (LICZ);
my $count = 0;
foreach my $wypisz (@ilosc) {
$count++;
if ($wypisz) {
$server->command("MSG $channel #$count: %Ce40f0f%$wypisz");
}
}
}
my ($server, $msg, $nick, $address, $channel) = @_;
$msg =~ s/\x03\d?\d?(,\d?\d?)?|\x02|\x1f|\x16|\x06|\x07//g;
if ($msg =~ /^!delpoczta (.+)$/i) {
return unless $nick eq 'Nick_2';
my $s_temp = $1;
open(OPER, "<$poczta");
my @list = ;
close(OPER);
my $remove = "@list";
if ($remove =~ /$s_temp/) {
system("sed '/$s_temp/d' $poczta > $temp && rm $poczta && mv $temp $poczta");
$server->command("MSG $channel $nick, %C0f2ab1%$s_temp %Ce40f0f%został usunięty z Sekratarki.");
}
}
Irssi::signal_add_last('message public', 'sig_public');
|
Konfiguracja:
Kod: | 1. Nick_1 - nick, na który reaguje sekretarka - odpowiada i zapisuje wiadomość
2. Nick_2 - nick, który ma dostęp do komend !poczta i !delpoczta (wystarczy wpisać jeden wyraz z wiadomości) |
Komendy:
Kod: | !poczta - wyświetla wiadomości
!delpoczta - usuwa wiadomość (wystarczy jeden wyraz z wiadomości) |
Post został pochwalony 0 razy
|
|