aryess/php-matrix-sdk

This package is abandoned and no longer maintained. The author suggests using the meet-kinksters/php-matrix-sdk package instead.

Later

dev-master / 1.0.x-dev 2022-08-14 22:37 UTC

This package is not auto-updated.

Last update: 2022-08-14 22:44:13 UTC


README

Software License

This library is archived!

The original repository for this package was deleted sometime in the summer of 2022 by its original author.

I was the maintainer of the Packagist configuration for it, however, so I have pointed Packagist at this repository to maintain access for any existing users.

This package has been forked as meet-kinksters/php-matrix-sdk where I will perform any future updates and can entertain PRs.

This is a Matrix client-server SDK for php 7.0+, mostly copied from matrix-org/matrix-python-sdk

This package is still a work in progress, and at the current time, not everything has been ported:

  • Missing E2E encryption, need php bindings for the OLM library
  • No live sync, because I'm not going to go into php multithreading
  • Unit tests for the client

Installation

composer require aryess/php-matrix-sdk

Usage

Client:

require('vendor/autoload.php');
use Aryess\PhpMatrixSdk\MatrixClient;

$client = new MatrixClient("http://localhost:8008");

// New user
$token = $client->registerWithPassword("foobar", "monkey");

// Existing user
$token = $client->login("foobar", "monkey");

$room = $client->createRoom("my_room_alias");
$room->sendText("Hello!");

API:

require('vendor/autoload.php');
use Aryess\PhpMatrixSdk\MatrixHttpApi;

$matrix = new MatrixHttpApi("http://localhost:8008", $sometoken);

$response = $matrix->sendMessage("!roomid:matrix.org", "Hello!");

##Structure The SDK is split into two modules: api and client.

###API This contains the raw HTTP API calls and has minimal business logic. You can set the access token (token) to use for requests as well as set a custom transaction ID (txn_id) which will be incremented for each request.

###Client This encapsulates the API module and provides object models such as Room.

Contributing

Please see CONTRIBUTING and CODE_OF_CONDUCT for details.

Security

If you discover any security related issues, please email aryess@github.com instead of using the issue tracker.

Credits

License

The MIT License (MIT). Please see License File for more information.