You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
DumbergerL 519993ddd6
fix(typo): add $ to econtent
8 months ago
src fix(typo): add $ to econtent 8 months ago
tests Merge upstream commit '396376ceb9bea3d2fa9a860401da27c267fd9a17' into feature/guzzle7-update 12 months ago
.editorconfig Added end_of_line & some more info about this file 8 years ago
.gitattributes Add phpcs to gitignore and gitattributes file 4 years ago
.gitignore Update composer.json, guzzle and .gitignore 1 year ago
.scrutinizer.yml Use new PHP analysis engine 5 years ago
.travis.yml Removing psr2 enforcing 4 years ago
CHANGELOG.md Prefilling info 4 years ago
CODE_OF_CONDUCT.md Prefilling info 4 years ago
CONTRIBUTING.md Prefilling info 4 years ago
ISSUE_TEMPLATE.md Use PHP-specific examples in Issue template 7 years ago
LICENSE.md Prefilling info 4 years ago
PULL_REQUEST_TEMPLATE.md Add note about CI 6 years ago
README.md Update composer.json, guzzle and .gitignore 1 year ago
composer.json Merge upstream commit '0f6f2958e9db5e5ea9a5ba014ddcce7c486edf53' into feature/guzzle7-update 9 months ago
phpunit.xml.dist Preparing for tests 4 years ago

README.md

Matrix client SDK for php

Software License

This is a Matrix client-server SDK for php 7.2.5+, 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.