| version 1.2, 2002/10/16 07:36:21 |
version 1.3, 2002/10/16 10:23:25 |
| Line 24 my $MYLOCATION = ''; |
|
| Line 24 my $MYLOCATION = ''; |
|
| my $MYID = $MYNICK.'!atlantis@atlantis.sk'; |
my $MYID = $MYNICK.'!atlantis@atlantis.sk'; |
| my $OTHID = '!atlantis@atlantis.sk'; |
my $OTHID = '!atlantis@atlantis.sk'; |
| my $SERVID = 'atlantis.sk'; |
my $SERVID = 'atlantis.sk'; |
| |
my $RECEIVING_NAME_LIST = 0; |
| |
my $IGNORING_LOCATION_DESC = 0; |
| |
my $IGNORING_WELCOME = 1; |
| |
my $MY_RANK = ''; |
| |
my $TOTAL_USERS = ''; |
| |
my $MY_TOTAL_NOTIFY = ''; |
| |
my $JOKES_TOTAL = ''; |
| |
my $DATE = ''; |
| |
my $TIME = ''; |
| |
my $DAY = ''; |
| |
my $MY_LASTLOG_SERVER = ''; |
| |
my $MY_TOTAL_MACROS = ''; |
| |
my $MY_LOCATION = ''; |
| |
my $TOTAL_WIZZES = ''; |
| |
my $LOCATION_ACCESS = ''; |
| |
my $LOCATION_MESAGES_TOTAL = ''; |
| |
my $LOCATION_ACCESS_LOCK = ''; |
| |
|
| while (<STDIN>) { |
while (<STDIN>) { |
| # chomp; |
# chomp; |
| |
|
| # detect autoencryption prefix flags and put the command into PREFIX |
#ignoring known messages: |
| |
# |
| |
# |
| |
# |
| |
|
| |
# WELCOM |
| |
if ($IGNORING_WELCOME && ($_ =~ /^ [0-9]* navstevnikov od 28\. Maja 1997$/)) { |
| |
$IGNORING_WELCOME = 0; |
| |
#$_ = ''; |
| |
} |
| |
if ($IGNORING_WELCOME) { |
| |
$_ = ''; |
| |
} |
| |
|
| |
if ($_ =~ /^\+- Vitaj v Atlantide, ([^ ]*)! -------*-\+----------*--\+$/) { |
| |
$MYNICK = $1; |
| |
$_ = ''; |
| |
} |
| |
if ($_ =~ /^\| Uroven: ([^ ]*) *\| Momentalne online: ([^ ]*) *ludi \| Posledne prihlasenie: \|/) { |
| |
$MY_RANK = $1; |
| |
$TOTAL_USERS = $2; |
| |
$_ = ''; |
| |
} |
| |
if ($_ =~ /^\| Notify: ([^ ]*) *ludi \| Vtipov na jokeboarde: ([^ ]*) *\| ([^ ])*, ([^ ]*) \((Streda)\) *\|$/) { |
| |
$MY_TOTAL_NOTIFY = $1; |
| |
$JOKES_TOTAL = $2; |
| |
$DATE = $3; |
| |
$TIME = $4; |
| |
$DAY = $5; |
| |
$_ = ''; |
| |
} |
| |
if ($_ =~ /^\| Makier: ([^ ]*) *\| Miestnost: ([^ ]*) *\| ([^ ]*) *\|/) { |
| |
$MY_TOTAL_MACROS = $1; |
| |
$MY_LOCATION = $2; |
| |
$MY_LASTLOG_SERVER = $3; |
| |
$_ = ''; |
| |
} |
| |
if ($_ =~ '\+-----------------\+-----------------------------\+------------------------------\+') { |
| |
$_ = ':'.$SERVID.' 251 '.$MYNICK.' :There are '.$TOTAL_USERS.' users and 0 services on 1 servers'."\n" |
| |
.':'.$SERVID.' 252 '.$MYNICK.' '.$TOTAL_WIZZES.' :operators online'."\n"; |
| |
$_ = ''; |
| |
} |
| |
|
| |
# watch for our actions |
| |
if ($_ =~ /^You( .*)$/) { |
| |
$_ = $MYNICK.$1; |
| |
} |
| |
|
| |
# TELL |
| if ($_ =~ /^([^ ]*) tells you: (.*)$/) { |
if ($_ =~ /^([^ ]*) tells you: (.*)$/) { |
| $_ = ':' . $1 .$OTHID.' PRIVMSG ' . $MYNICK . ' :' . $2 . "\n"; |
$_ = ':' . $1 .$OTHID.' PRIVMSG ' . $MYNICK . ' :' . $2 . "\n"; |
| } |
} |
| |
if ($_ =~ /^$MYNICK tell ([^ ]*): (.*)/) { |
| if ($_ =~/^You tell ([^ ]*): (.*)/) { |
|
| $_ = ':' . $MYNICK . $MYID . ' PRIVMSG '. $1 .' :'.$2."\n"; |
$_ = ':' . $MYNICK . $MYID . ' PRIVMSG '. $1 .' :'.$2."\n"; |
| } |
} |
| |
|
| |
# GO |
| if ($_ =~ /^\+--- Location: ([^ ]*) --------------------------*\+/) { |
if ($_ =~ /^\+--- Location: ([^ ]*) --------------------------*\+/) { |
| $_ = ':' . $MYID . " JOIN 0\n:" . $MYNICK . ' JOIN :#' . $1 . "\n"; |
$_ = ':' . $MYID . " JOIN 0\n:" . $MYNICK . ' JOIN :#' . $1 . "\n"; |
| |
$IGNORING_LOCATION_DESC = 1; |
| $MYLOCATION = $1; |
$MYLOCATION = $1; |
| } |
} |
| |
if ($IGNORING_LOCATION_DESC && ($_ =~ /^$/)) { |
| if ($_ =~ /^([^ ]*) (says|asks|exclaims|napisal tabulku|\([^ ]*\)): (.*)/) { |
$IGNORING_LOCATION_DESC = 0; |
| $_ = ':' . $1 . $OTHID. ' PRIVMSG #' . $MYLOCATION . ' :'. $3 . "\n"; |
} |
| |
if ($IGNORING_LOCATION_DESC && ($_ =~ /^..*$/)) { |
| |
$_ = ''; |
| |
} |
| |
if ($_ =~ /^Access is (set|fixed) to ([^ ]*) and there are ([^ ]*) messages on the board\.$/) { |
| |
$LOCATION_ACCESS_LOCK = $1; |
| |
$LOCATION_ACCESS = $2; |
| |
$LOCATION_MESAGES_TOTAL = $3; |
| |
$_ = ''; |
| |
} |
| |
|
| |
# PART JOIN |
| |
if ($_ =~ /^[^ ]* sa odtransportoval(a|) na namestie ...$/) { |
| |
# we leave this for further translation :) |
| |
$_ = '-> '.$_; |
| |
} |
| |
if ($_ =~ /^[^ ]* sem priletel(a|) na kridlach!/) { |
| |
$_ = '<- '.$_; |
| } |
} |
| |
|
| if ($_ =~ /^<- ([^ ]*)(.*)/) { |
if ($_ =~ /^<- ([^ ]*)(.*)/) { |
| $_ = ':' . $1 . $OTHID. ' JOIN :#'.$MYLOCATION."\n" |
$_ = ':' . $1 . $OTHID. ' JOIN :#'.$MYLOCATION."\n" |
| } |
} |
| Line 54 while (<STDIN>) { |
|
| Line 136 while (<STDIN>) { |
|
| $_ = ':' . $1 . $OTHID. ' PART #'.$MYLOCATION.' :'.$1.$2 ."\n" |
$_ = ':' . $1 . $OTHID. ' PART #'.$MYLOCATION.' :'.$1.$2 ."\n" |
| } |
} |
| |
|
| |
# SAY* |
| |
if ($_ =~ /^([^ ]*) (says|asks|exclaims|napisal tabulku|\([^ ]*\)): (.*)/) { |
| |
$_ = ':' . $1 . $OTHID. ' PRIVMSG #' . $MYLOCATION . ' :'.$2.'> '. $3 . "\n"; |
| |
} |
| |
if ($_ =~ /^$MYNICK say(| \([^)]*\)): (.*)/) { |
| |
$_ = ':'.$MYNICK.' PRIVMSG #'.$MYLOCATION.' :'.$1.'> '.$2."\n"; |
| |
} |
| |
|
| |
# SHOUT |
| if ($_ =~ /^([^ ]*) shouts: (.*)/) { |
if ($_ =~ /^([^ ]*) shouts: (.*)/) { |
| $_ = ':' . $1 . $OTHID . ' PRIVMSG #atlantis :'.$2."\n"; |
$_ = ':' . $1 . $OTHID . ' PRIVMSG #atlantis :'.$2."\n"; |
| } |
} |
| |
|
| |
# AWAY |
| # this is not IRC compliant, hope it works |
# this is not IRC compliant, hope it works |
| if ($_ =~ /^([^ ]*) odisiel od klavesnice: (.*)/) { |
if ($_ =~ /^([^ ]*) odisiel od klavesnice: (.*)/) { |
| $_ = ':' . $1 . $OTHID . ' AWAY :' . $2 . "\n"; |
$_ = ':' . $1 . $OTHID . ' AWAY :' . $2 . "\n"; |
| } |
} |
| |
|
| |
# BACK |
| # this is not IRC compliant, hope it works |
# this is not IRC compliant, hope it works |
| if ($_ =~ /^([^ ]*) sa vratil ku klavesnici./) { |
if ($_ =~ /^([^ ]*) sa vratil ku klavesnici./) { |
| $_ = ':' . $1 . $OTHID . " AWAY :\n"; |
$_ = ':' . $1 . $OTHID . " AWAY :\n"; |
| } |
} |
| |
|
| if ($_ =~ /^([a-zA-Z]+) (.*)/) { |
# LOOK USER LIST |
| $_ = ':' . $1 . $OTHID. ' PRIVMSG #' . $MYLOCATION . ' :ACTION '. $3 . "\n"; |
if ($_ =~ /^$MYNICK can see:$/) { |
| |
$RECEIVING_NAME_LIST = 1; |
| |
$_ = ':'.$SERVID.' 353 '.$MYNICK.' @ '.$MYLOCATION.' :'.$MYNICK."\n"; |
| } |
} |
| |
if ($RECEIVING_NAME_LIST && ($_ =~ /^ ([^ ]*) (.*)/)) { |
| # using JOIN instead of sending list of names - list would need buffering |
$_ = ':'.$SERVID.' 353 '.$MYNICK.' @ '.$MYLOCATION.' :'.$1."\n"; |
| if ($_ =~ /^ ([^ ]*) (.*)/) { |
} |
| #$_ = ':'.$SERVID .'353'.$MYNICK .'= #'.$MYLOCATION.' :'.$MYNICK . |
if ($RECEIVING_NAME_LIST && ($_ =~ /^$/)) { |
| #':'.$SERVID.' 366 '.$MYNICK.' '.$MYLOCATION.' :End of NAMES list.'."\n"; |
$RECEIVING_NAME_LIST = 0; |
| $_ = ':' . $1.$OTHID.' JOIN :'.$MYLOCATION."\n"; |
$_ = ':'.$SERVID.' 366 '.$MYNICK.' '.$MYLOCATION.' :End of NAMES list.'."\n"; |
| } |
} |
| |
if ($_ =~ /^(There is: .*|Exits are: .*|There are no exits\.)$/) { |
| |
$_ = ':'.$SERVID.' '.$MYNICK.' NOTICE '.$_; |
| |
} |
| |
if($_ =~ /^Current topic: (.*) \[([^ ]*)\]$/) { |
| |
$_ = ':'.$SERVID.' 332 '.$MYNICK.' #'.$MYLOCATION.' :'.$1."\n" |
| |
.':'.$SERVID.' 333 '.$MYNICK.' #'.$MYLOCATION.' '.$2.$OTHID.' 1034702684'."\n"; |
| |
} |
| |
|
| |
|
| |
|
| |
# EMOTE |
| |
if ($_ =~ /^([a-zA-Z]+) (.*)/) { |
| |
$_ = ':'.$1.$OTHID.' PRIVMSG #'.$MYLOCATION.' :ACTION '.$2."\n"; |
| |
} |
| |
#ignoring known messages: |
| |
|
| #unknown messages sent to #atlantis: |
#unknown messages sent to #atlantis: |
| if ($_ =~ /^([^:].*)/) { |
if ($_ =~ /^([^:].*)/) { |