matrix-elixir-sdk
matrix-elixir-sdk copied to clipboard
Implement Matrix client-server API wrapper
The goal is to implement a wrapper for the Matrix client-server API. This wrapper will consist of:
- a
Requestmodule which returns a struct containing the data necessary for each HTTP request - an
HTTPClientmodule which makes the requests using Tesla - ~~an
Clientmodule which ties the aforementioned modules together in order to make the HTTP requests to a Matrix homeserver.~~ - a
Clientmodule which makes the request through the configured HTTP client and will in future include a parse response stack.
Docs: https://matrix.org/docs/spec/client_server/r0.6.1
Edit: the list below is inaccurate as some have been partially implemented. Please refer to the SDK docs and the Matrix client-server API docs to determine which endpoints still need to be implemented. The admin endpoints also need to be implemented: https://github.com/matrix-org/synapse/tree/master/docs/admin_api
Progress:
- [x] 2 API standards (#2)
- [x] 4 server discovery (#3)
- [ ] 5.4 user-interactive auth API (#13, #15, #17)
- [x] 5.5 login (#4, #5)
- [x] 5.6 account registration and management (#6, #8, #14)
- [ ] 5.7 account administrative contact information (#6, #14)
- [x] 5.8 current account information (#6, #13)
- [x] 6 capabilities negotiation (#20, #21, #22)
- [ ] 8 filtering
- [ ] 9.3 room events (#23, #47)
- [x] 9.4 syncing (#24, #27)
- [x] 9.5 getting events for a room (#25, #32)
- [x] 9.6 sending events to a room (#26, #46)
- [x] 9.7 redactions (#55)
- [x] 10.1 room creation (#33, #43)
- [ ] 10.2 room aliases
- [x] 10.4 room membership (#36)
- [x] 10.5 listing rooms (#34, #35)
- [x] 11.1 user directory (#53, #54)
- [x] 11.2 profiles (#49)