summaryrefslogtreecommitdiff
path: root/lib/Matrix/Client.pm6
diff options
context:
space:
mode:
Diffstat (limited to 'lib/Matrix/Client.pm6')
-rw-r--r--lib/Matrix/Client.pm611
1 files changed, 11 insertions, 0 deletions
diff --git a/lib/Matrix/Client.pm6 b/lib/Matrix/Client.pm6
index 56be81c..0d4f400 100644
--- a/lib/Matrix/Client.pm6
+++ b/lib/Matrix/Client.pm6
@@ -106,6 +106,17 @@ method whoami {
$!user-id
}
+method presence(Matrix::Client:D: $user-id? --> Matrix::Response::Presence) {
+ my $id = $user-id // $.whoami;
+ my $data = from-json($.get("/presence/$id/status").content);
+ Matrix::Response::Presence.new(|$data)
+}
+
+method set-presence(Matrix::Client:D: Str $presence, Str :$status-message = "") {
+ $.put("/presence/$.whoami/status",
+ :$presence, :status_msg($status-message));
+}
+
# Syncronization
multi method sync(Hash :$sync-filter is copy, :$since = "") {