matrix-client-haskell
matrix-client-haskell copied to clipboard
Matrix.org haskell client library
matrix-client-haskell
[matrix] is an open network for secure, decentralized communication.
This project contains Haskell libraries for matrix.org. This allows you to rapidly integrate matrix events in your application.
matrix-client
A low level library to implements the client-server spec:
Implemented
- [x] Basic room membership to leave and join rooms
- [x] Basic sync to read room's timeline
- [x] Sending text events
- [x] Identity lookup
- [x] Invites
Next/Missing
- [ ] Rich messages
- [ ] Decoders to support OLM with https://github.com/livmackintosh/matrix-sdk
- [ ] The rest of the HTTP API...
Contribute
To work on this project you need a Haskell toolchain, for example on fedora:
$ sudo dnf install -y ghc cabal-install && cabal update
Run the tests:
$ cabal build all && cabal test all
Some tests requires a local matrix server, run integration service:
# In another terminal:
$ nix develop -c conduit-start
# Before running cabal test:
$ export $(nix develop -c conduit-setup)
$ cabal test all
Restart the commands to run the test on a fresh environment.
If you experience any difficulties, please don't hesistate to raise an issue.