aboutsummaryrefslogtreecommitdiff
path: root/README.md
blob: 442c8ac6aa209f65453c0471e387525767f43c40 (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
# Matrix::Client

A [Raku](https://raku.org) library for [Matrix](https://matrix.org).

## Synopsis


    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)).

## 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:matrix.deprecated.org`