Crate ruma::client [−][src]
client
only.Expand description
A minimal Matrix client library.
Usage
Begin by creating a Client
, selecting one of the type aliases from ruma_client::http_client
for the generic parameter. For the client API, there are login and registration methods
provided for the client (feature client-api
):
// type MatrixClient = ruma_client::Client<ruma_client::http_client::_>; let homeserver_url = "https://example.com".parse().unwrap(); let client = MatrixClient::new(homeserver_url, None); let session = client .log_in("@alice:example.com", "secret", None, None) .await?; // You're now logged in! Write the session to a file if you want to restore it later. // Then start using the API!
You can also pass an existing access token to the Client
constructor to restore a previous
session rather than calling log_in
. This can also be used to create a session for an
application service that does not need to log in, but uses the access_token directly:
let work = async { let homeserver_url = "https://example.com".parse().unwrap(); let client = MatrixClient::new(homeserver_url, Some("as_access_token".into())); // make calls to the API };
The Client
type also provides methods for registering a new account if you don’t already have
one with the given homeserver.
Beyond these basic convenience methods, ruma-client
gives you access to the entire Matrix
client-server API via the request
method. You can pass it any of the Request
types found in
ruma::api::*
and get back a corresponding response from the homeserver.
For example:
use std::convert::TryFrom; use ruma_client_api::r0::alias::get_alias; use ruma_identifiers::{room_alias_id, room_id}; async { let response = client .send_request(get_alias::Request::new(&room_alias_id!("#example_room:example.com"))) .await?; assert_eq!(response.room_id, room_id!("!n8f893n9:example.com")); }
Modules
http_client | This module contains an abstraction for HTTP clients as well as friendly-named re-exports of client types that implement this trait. |
Structs
Client | A client for the Matrix client-server API. |
Enums
Error | An error that can occur during client operations. |
Traits
DefaultConstructibleHttpClient | An HTTP client that has a default configuration. |
HttpClient | An HTTP client that can be used to send requests to a Matrix homeserver. |
HttpClientExt | Convenience functionality on top of |
Type Definitions
ResponseError | The error type for sending the request |
ResponseResult | The result of sending the request |