Просмотр исходного кода

Added support for * in alias.

EG: <user nick="Joe" alias="Joe*ing" alias="Joe*away">
sbingner 25 лет назад
Родитель
Сommit
1861894590
2 измененных файлов с 11 добавлено и 0 удалено
  1. 3 0
      pisg.cfg
  2. 8 0
      pisg.pl

+ 3 - 0
pisg.cfg

@@ -27,6 +27,9 @@
 # To add aliases to a user:
 # To add aliases to a user:
 # <user nick="Joe" alias="Joe^away Joe^work">
 # <user nick="Joe" alias="Joe^away Joe^work">
 #
 #
+# or:
+# <user nick="Joe" alias="Joe^*">
+#
 # To add a picture to a user:
 # To add a picture to a user:
 # <user nick="Joe" pic="joe.jpg">
 # <user nick="Joe" pic="joe.jpg">
 #
 #

+ 8 - 0
pisg.pl

@@ -224,6 +224,9 @@ sub init_config
 
 
                 if ($line =~ /alias="([^"]+)"/) {
                 if ($line =~ /alias="([^"]+)"/) {
                     my @thisalias = split(/\s+/, $1);
                     my @thisalias = split(/\s+/, $1);
+                    foreach (@thisalias) {
+                        $_ =~ s/\*/\.\*/g;
+                    }
                     push(@{ $alias{$nick} }, @thisalias);
                     push(@{ $alias{$nick} }, @thisalias);
                 }
                 }
 
 
@@ -884,6 +887,11 @@ sub find_alias
 
 
     foreach (keys %alias) {
     foreach (keys %alias) {
         return $_ if (grep /^\Q$nick\E$/i, @{$alias{$_}});
         return $_ if (grep /^\Q$nick\E$/i, @{$alias{$_}});
+        if (grep /\*/, @{$alias{$_}}) {
+            foreach my $alias (@{$alias{$_}}) {
+                return $_ if ($nick =~ /^$alias$/);
+            }
+        }
     }
     }
 
 
     return $nick;
     return $nick;