# only print to terminal. override this in a subclass for something
# more useful.
my ($self, $string) = @_;
- print "-> $string\n";
+ print "Notify <- $string\n";
+ if ( $string =~ m{CHATMESSAGE (\d+) STATUS RECEIVED} ) {
+ my $id = $1;
+ my $body = $self->Invoke("GET CHATMESSAGE $id BODY");
+ print "# $body\n";
+ my $chat = $self->Invoke("GET CHATMESSAGE $id CHATNAME");
+ my $o = $self->Invoke($body);
+ print "# $o\n";
+ $self->Invoke("CHATMESSAGE $chat $o");
+ }
+
# be careful with what you return here! DBus will try to serialize it,
# returning it to skype. you should explicitely return something
# simple to avoid to leak something unserializable, causing odd errors.
# this doesn't print $string, so that subclasses can call it without
# that side effect. subclass it yourself if you want it to do that.
my ($self, $string) = @_;
- return $self->{invoker}->Invoke($string);
+ print "Invoke -> $string\n";
+ my $response = $self->{invoker}->Invoke($string);
+ print "Invoke <- $response\n";
+ if ( $string =~ s/^get //i ) {
+ $response =~ s/^\Q$string\E *//;
+ }
+ return $response;
}
package Example; # ------------------------------------------------------------