matrix-client-0.1.1.0: A matrix client library
Safe HaskellNone
LanguageHaskell2010

Network.Matrix.Client

Description

This module contains the client-server API https://matrix.org/docs/spec/client_server/r0.6.1

Synopsis

Client

data ClientSession Source #

The session record, use createSession to create it.

newtype MatrixToken Source #

Constructors

MatrixToken Text 

getTokenFromEnv Source #

Arguments

:: Text

The envirnoment variable name

-> IO MatrixToken 

createSession Source #

Arguments

:: Text

The matrix client-server base url, e.g. "https://matrix.org"

-> MatrixToken

The user token

-> IO ClientSession 

createSession creates the session record.

API

type MatrixIO a = IO (Either MatrixError a) Source #

MatrixIO is a convenient type alias for server response

User data

newtype UserID Source #

Constructors

UserID Text 

Instances

Instances details
Eq UserID Source # 
Instance details

Defined in Network.Matrix.Internal

Methods

(==) :: UserID -> UserID -> Bool #

(/=) :: UserID -> UserID -> Bool #

Show UserID Source # 
Instance details

Defined in Network.Matrix.Internal

FromJSON UserID Source # 
Instance details

Defined in Network.Matrix.Internal

getTokenOwner :: ClientSession -> MatrixIO UserID Source #

getTokenOwner gets information about the owner of a given access token.

Room participation

newtype TxnID Source #

Constructors

TxnID Text 

Instances

Instances details
Eq TxnID Source # 
Instance details

Defined in Network.Matrix.Client

Methods

(==) :: TxnID -> TxnID -> Bool #

(/=) :: TxnID -> TxnID -> Bool #

Show TxnID Source # 
Instance details

Defined in Network.Matrix.Client

Methods

showsPrec :: Int -> TxnID -> ShowS #

show :: TxnID -> String #

showList :: [TxnID] -> ShowS #

data MessageText Source #

Instances

Instances details
Eq MessageText Source # 
Instance details

Defined in Network.Matrix.Events

Show MessageText Source # 
Instance details

Defined in Network.Matrix.Events

newtype Event Source #

Instances

Instances details
ToJSON Event Source # 
Instance details

Defined in Network.Matrix.Events

newtype EventID Source #

Constructors

EventID Text 

Instances

Instances details
Show EventID Source # 
Instance details

Defined in Network.Matrix.Events

FromJSON EventID Source # 
Instance details

Defined in Network.Matrix.Events

Room membership

newtype RoomID Source #

Constructors

RoomID Text 

Instances

Instances details
Eq RoomID Source # 
Instance details

Defined in Network.Matrix.Client

Methods

(==) :: RoomID -> RoomID -> Bool #

(/=) :: RoomID -> RoomID -> Bool #

Show RoomID Source # 
Instance details

Defined in Network.Matrix.Client

Hashable RoomID Source # 
Instance details

Defined in Network.Matrix.Client

Methods

hashWithSalt :: Int -> RoomID -> Int #

hash :: RoomID -> Int #

FromJSON RoomID Source # 
Instance details

Defined in Network.Matrix.Client

joinRoom :: ClientSession -> Text -> MatrixIO RoomID Source #

Note that this API takes either a room ID or alias, unlike joinRoomById