multiposter

2024-10-12

An application to post to multiple services at once.

Upstream URL

github.com/Shinmera/multiposter

Author

Yukari Hafner <[email protected]>

Maintainer

Yukari Hafner <[email protected]>

License

zlib
README
# About Multiposter This is an application that lets you post to multiple web services at once. ## How To While you can use Multiposter from the REPL, it also has a convenient command line interface. To build a binary, simply run ``sbcl --eval '(asdf:make :multiposter)'``. The following services are supported: - "Cohost"(https://cohost.org) - File (just writes to disk) - Git (commits and pushes) - "Lichat"(https://shirakumo.github.io/lichat) - "Mastodon"(https://mastodon.social) - "Pixiv"(https://pixiv.net) - "Reader"(https://github.com/shirakumo/reader) - "Studio"(https://github.com/shirakumo/studio) - "Tumblr"(https://tumblr.com) - WebDAV On the command line you can simply run ``multiposter`` and it should show you a nice help text with all the available options and commands. ## Creating New Clients If you'd like to contribute another client to Multiposter, it's not too hard. Simply create a new client class with ``define-client``, and ensure all the properties that should be persisted for it are returned from an ``initargs`` method. Then implement methods for the ``post``, ``ready-p`` and ``setup`` functions. If your service supports undoing/deleting a post, you should also create a ``result`` subclass and implement the ``undo`` method for it. Your ``post`` methods should then return a result instance on success, such that the post can be removed again later if desired. For the ``setup`` function, make sure you implement the following logic: if ``&rest args`` are passed, reinitialise your client to use those initargs. Otherwise, if your client is not yet ``ready-p``, perform an interactive setup using ``query`` to prompt the user for the necessary options.

Dependencies (17)

  • alexandria
  • clohost
  • closer-mop
  • cl-ppcre
  • documentation-utils
  • fuzzy-dates
  • humbler
  • lichat-tcp-client
  • lquery
  • north
  • pathname-utils
  • studio-client
  • tooter
  • trivial-arguments
  • trivial-mimes
  • ubiquitous
  • uiop

Dependents (0)

    • GitHub
    • Quicklisp