Godot Matrix SDK
⚠️ I’ve not touched in a while and it’s not in a usable state … you probably shouldn’t bother with it fyi!
A Matrix SDK for Godot written in GDScript.
Please note, this is a work in progress and is primarily for my learning purposes.
Features
To-Do
Lots of things, but noting some below:
- Create a Login flow (using a directly provided
access_tokenfor now)- Validate provided homeserver URL
- Get delegated homeserver URL from
.well-knownfiles, if applicable.
- Get delegated homeserver URL from
- Validate
access_tokenagainst homeserver (/ delegated homeserver)- Create function to construct
headersPackedStringArray for you following validation ofaccess_token
- Create function to construct
- Auto-populate MatrixClientServer variables after successful “Login”
- Validate provided homeserver URL
- Document structure of MatrixClientServerResponse
- Provide sample code snippets for using functions returning this
- Checking for errors (and displaying error message)
- Checking for success
- Accessing the resposne
- Probably provide helper functions within MatrixClientServerReponse to do this for you?
- Provide sample code snippets for using functions returning this
- Figure out why the 3 OpenAPI YAMLs for
Authenicated Content Repository,Content RepositoryandRelationsAPI don’t haveSchemadefinitions and re-produce them as functions (like the rest)
Installation
- Open Godot, click
AssetLibfrom the top, thenImport.... - Browse and select the downloaded ZIP file.
- Accept default import settings.
- Open Project Settings, Plugins, Enable
Godot Matrix SDK
How to use
- Add a MatrixClientServer node to your scene
- Reference the node from your desired script i.e.
@onready var matrix_client_server: MatrixClientServer = $MatrixClientServer - Provide
access_token,homeserverandheadersfor functions requiring a Matrix Account (this will be fixed / made better in a future update)