src | ||
tests | ||
.editorconfig | ||
.gitattributes | ||
.gitignore | ||
.scrutinizer.yml | ||
.travis.yml | ||
CHANGELOG.md | ||
CODE_OF_CONDUCT.md | ||
composer.json | ||
CONTRIBUTING.md | ||
ISSUE_TEMPLATE.md | ||
LICENSE.md | ||
phpunit.xml.dist | ||
PULL_REQUEST_TEMPLATE.md | ||
README.md |
Matrix client SDK for php
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.