Racket lib for talking to PlerOwOma
Find a file
2021-08-10 17:12:19 +02:00
lib error handling in delete-old.rkt 2021-08-10 17:12:19 +02:00
widgets open a post in the web browser 2020-11-29 19:03:04 +01:00
.gitignore info.rkt 2020-08-23 15:08:29 +02:00
delete-old.rkt error handling in delete-old.rkt 2021-08-10 17:12:19 +02:00
gui.rkt cleanup 2020-11-29 16:25:10 +01:00
info.rkt info.rkt 2020-08-23 15:08:29 +02:00
LICENSE info.rkt 2020-08-23 15:08:29 +02:00
plchat.rkt slightly better command line option handling 2020-08-23 12:04:49 +02:00
README.md upd8 readme 2020-11-12 19:39:21 +01:00
streamer.rkt setup-streaming-ws -> streaming-ws-evt 2020-08-23 14:03:11 +02:00
unheck-html.rkt pleroma chat example 2020-08-16 14:46:45 +02:00

Tapris version 2 : Still Work In Progress

About

Tapris is a Racket library for working with a Pleroma/Mastodon API. It originally started as a bot for Pleroma, but eventually I wanted to play aroung with the Racket GUI library and see if it is usable for making a simple Pleroma client.

Overview

The main api is provided in lib/api.rkt. In order to use the API you need an instance of the client struct. To obtain it you can use the functions in lib/auth.rkt, which by default serialize the client to the _tapris file in the current directory.

There is an example gui app in gui.rkt. We also provide some GUI widgets in the widgets/ folder.

Other examples: streamer.rkt, plchat.rkt

Installing

Dependencies:

  • base, drracket, gui-lib (all should be in the standard Racket distribution)
  • gregor
  • memoize
  • rfc6455

You can install the dependencies with

raco pkg install gregor memoize rfc6455

You can then run the test gui app with

raco make gui.rkt
racket gui.rkt

or build an executable with

raco exe gui.rkt

Note: the _tapris file with the serialized tokens does not work interchangably between the executable and bytecode-compiled version!

Known issues

Caveats:

  • does not very SSL certificates. see the documentation in net/url
  • error handling SUCKS

Contributing

  • Implement more API methods.
  • Use the API in your app.