blob: 367c64d3b09412fddf6b0003f4bf0df27ea01a84 (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
|
# Matrix::Client
A [Raku](https://raku.org) library for [Matrix](https://matrix.org).
## Installation
zef install Matrix::Client
## Usage
use Matrix::Client;
my $client = Matrix::Client.new(
:home-server<https://matrix.org>,
:device-id<matrix-client>
);
$client.login(:username<myuser>, :password<s3cr3t>);
# Check my user
say $client.whoami; # @myuser:matrix.org
# Send a message to a random room that I'm in
my $room = $client.joined-rooms.pick;
say "Sending a message to {$room.name}";
$room.send("Hello from Raku!");
## Description
Matrix is an open network for secure, decentralized communication.
This module provides an interface to interact with a Matrix homeserver through
the *Client-Server API*. It's currenlty on active development but it's mostly
stable for day to day use.
Here's a not complete list of things that can be done:
* Login/logout
* Registration
* Synchronization of events/messages
* Send events
* Send messages
* Upload files to a home-server
There are many missing endpoints (you can check a complete checklist
[here](https://github.com/matiaslina/perl6-matrix-client/blob/master/endpoints.md)).
If you want to contribute with some endpoint check the
[CONTRIBUTING.md](CONTRIBUTING.md) file.
## Documentation
There's a couple of pages of documentation on the `docs/` directory. This
includes API documentation, basic usage, examples, etc.
## Author
MatÃas Linares <matias@deprecated.org> | Matrix ID: `@matias:chat.deprecated.org`
|