Adding an example using Perl and Net::DBus

Chris 2020-06-17 15:55:54 -04:00
parent d18875a8f4
commit a9f50bfd1e

@ -43,6 +43,7 @@ For an example of sending a group message through the dbus interface, see [#272]
### Receive messages from signal-cli daemon ### Receive messages from signal-cli daemon
The signal-cli daemon publishes new messages to dbus. The signal-cli daemon publishes new messages to dbus.
Here's an example using python: Here's an example using python:
```python3 ```python3
@ -61,3 +62,28 @@ signal = bus.get('org.asamk.Signal')
signal.onMessageReceived = msgRcv signal.onMessageReceived = msgRcv
loop.run() loop.run()
``` ```
Here's an example using Perl:
```perl
#!/bin/perl
use Modern::Perl;
use Net::DBus;
use Net::DBus::Reactor;
sub msgRcv {
my ($timestamp, $sender, $groupID, $message, $attachments) = @_;
print "Message: $message\nSender: $sender\nTimestamp: $timestamp\nAttachments: $attachments\n";
return;
}
my $bus = Net::DBus->system();
my $sig = $bus->get_service("org.asamk.Signal");
my $obj = $sig->get_object("/org/asamk/Signal","org.asamk.Signal");
my $sigid = $obj->connect_to_signal('MessageReceived', \&msgRcv);
my $reactor=Net::DBus::Reactor->main();
$reactor->run();
exit 0;
```