  
  =cut
  
-@@ -989,7 +1014,8 @@
+@@ -989,7 +1023,8 @@
  
      # Strip out anything that's not a printable character
      # Now with unicode support?

+          delete $self->JidDB->{$forum}->{$nick};
+       }
+
+       return;
+    }
+
+    # "register" user on any other types
+    $self->JidDB->{$forum}->{$nick} = 1;
+
+    # call SayTo subroutine if needed
+    if(defined $self->SayToDB->{$forum}->{$nick}) {
+       &{ $self->SayTo }($self, $forum, $nick);
+    }
+
     DEBUG("Presence From $from t=$type s=$status");
     DEBUG("Presence XML: " . $presence->GetXML());
 }
@@ -896,7 +920,8 @@
 Assures message size does not exceed a limit and chops it into pieces if need be.
 
 NOTE: non-printable characters (unicode included) will be stripped before sending to the server via:

+    my $self = shift;
+    my $forum = shift;
+    my $nick = shift;
+    my $qnick = quotemeta($nick);
+
+    return 0 if(
+       !defined $forum || !defined $nick || !defined $self->JidDB->{$forum}
+    );
+
+    my @ret = grep {/^$qnick$/i} keys $self->JidDB->{$forum};
+    return @ret;
+}
 =back
 
