matrix 0.1.0 copy "matrix: ^0.1.0" to clipboard
matrix: ^0.1.0 copied to clipboard

outdated

Matrix Dart SDK

Matrix SDK #

Matrix (matrix.org) SDK written in dart.

Native libraries #

For E2EE, libolm must be provided.

Additionally, OpenSSL (libcrypto) must be provided on native platforms for E2EE.

For flutter apps you can easily import it with the flutter_olm and the flutter_openssl_crypto packages.

How to use this #

  1. Import the sdk
  matrix: 
import 'package:matrix/matrix.dart';
  1. Create a new client:
final client = Client("HappyChat");

The SDK works better with a Moor database. Otherwise it has no persistence. Take a look here for an example store.

  1. Connect to a Matrix Homeserver and listen to the streams:
client.onLoginStateChanged.stream.listen((bool loginState){ 
  print("LoginState: ${loginState.toString()}");
});

client.onEvent.stream.listen((EventUpdate eventUpdate){ 
  print("New event update!");
});

client.onRoomUpdate.stream.listen((RoomUpdate eventUpdate){ 
  print("New room update!");
});

try {
  await client.checkHomeserver("https://yourhomeserver.abc");
  await client.login("username", "password");
}
catch(e) {
  print('No luck...');
}
  1. Send a message to a Room:
await client.getRoomById('your_room_id').sendTextEvent('Hello world');