rocksky_ex is a pipe-friendly Elixir client built on Req.
Install
Quick start
|>. Each
namespace module mirrors a lexicon — app.rocksky.actor.getProfile becomes
Rocksky.Actor.get_profile/2.
Configuration
Create a scrobble
Builder style
| Builder | XRPC procedure |
|---|---|
Rocksky.Scrobble.Builder | app.rocksky.scrobble.createScrobble |
Rocksky.Song.Builder | app.rocksky.song.createSong |
Rocksky.Mirror.Builder | app.rocksky.mirror.putMirrorSource |
Rocksky.Apikey.Builder | app.rocksky.apikey.createApikey |
Rocksky.Shout.ReplyBuilder | app.rocksky.shout.replyShout |
Rocksky.Shout.ReportBuilder | app.rocksky.shout.reportShout |
album_art/2,
mb_id/2, spotify_link/2). new/1 and put/2 accept either form. Use
put/2 to set several at once and to_body/1 to inspect the JSON body
without submitting.
Missing required fields are caught locally:
Find a song
Charts and search
Player remote-control
Paginate with Stream
Errors
Modules
| Module | NSID prefix |
|---|---|
Rocksky.Actor | app.rocksky.actor.* |
Rocksky.Album | app.rocksky.album.* |
Rocksky.Apikey | app.rocksky.apikey.* |
Rocksky.Artist | app.rocksky.artist.* |
Rocksky.Charts | app.rocksky.charts.* |
Rocksky.Dropbox | app.rocksky.dropbox.* |
Rocksky.Feed | app.rocksky.feed.* |
Rocksky.GoogleDrive | app.rocksky.googledrive.* |
Rocksky.Graph | app.rocksky.graph.* |
Rocksky.Like | app.rocksky.like.* |
Rocksky.Mirror | app.rocksky.mirror.* |
Rocksky.Player | app.rocksky.player.* |
Rocksky.Playlist | app.rocksky.playlist.* |
Rocksky.Scrobble | app.rocksky.scrobble.* |
Rocksky.Shout | app.rocksky.shout.* |
Rocksky.Song | app.rocksky.song.* |
Rocksky.Spotify | app.rocksky.spotify.* |
Rocksky.Stats | app.rocksky.stats.* |
Types
Lexicon-derived structs are available underRocksky.Generated.*, mirroring every lex *View* / *Record / *Input / *Output / *Params shape from the Rocksky lexicons. Regenerate with bun run lexgen:types at the repo root.
License
MIT © Tsiry Sandratraina. Source:sdk/elixir.