X-Git-Url: http://git.shadowcat.co.uk/gitweb/gitweb.cgi?a=blobdiff_plain;f=lib%2FApp%2FClifton%2FTower%2FJabber.pm;h=ffc852cb1056ff2c6fd58453763b6c052276140c;hb=7c5b5a3a81fe80f6d3aaa33a8b627a018dc93b5e;hp=e57e9627178441652c6847d0290f27e8b114637b;hpb=3b5393442399a78f1fddb61c492eaa523c67e8fc;p=scpubgit%2FClifton.git diff --git a/lib/App/Clifton/Tower/Jabber.pm b/lib/App/Clifton/Tower/Jabber.pm index e57e962..ffc852c 100644 --- a/lib/App/Clifton/Tower/Jabber.pm +++ b/lib/App/Clifton/Tower/Jabber.pm @@ -27,6 +27,8 @@ has chain_set => ( default => sub { ChainSet->new } ); +has full_jid => (is => 'rw'); + sub _build_xmpp_client { my ($self) = @_; $self->_login_xmpp_client($self->_new_child(XMPP_Client, { @@ -50,9 +52,15 @@ sub handle_message { my $me = $self->jabber_config->user; + return log_info { + "Received error message" + } if $msg->type eq 'error'; + return log_debug { "Received message for ${\$msg->to} instead of $me - ignoring" - } unless $msg->to eq $me; + } unless $msg->to =~ /^\Q$me/; # may be foo@gmail.com or .../gsklgsh + + $self->full_jid($msg->to); # need foo@gmail.com/skldshgsdg here (my $from = $msg->from) =~ s/\/.*//; @@ -94,6 +102,7 @@ sub handle_message { sub send_xmpp_message { my ($self, $args) = @_; s/&/&/g, s/"/"/g, s//>/g for $args->{body}; + $args->{from} = $self->full_jid; $self->xmpp_client->compose(%$args)->send; }