Limnoria/plugins/Fediverse
Valentin Lorentz 833af36b08 all plugins: auto-generate READMEs
Starting with this commit, there should be no "original" text
in READMEs.
Instead, the entire text should be in docstrings, and READMEs
should be automatically generated from these docstrings.

Motivation:

* The same help is available both via IRC and in the README
  (although the README can be more detailed, as only the first
  paragraph will be shown on IRC)
* This will allow auto-generating plugin help on docs.limnoria.net
  using the same content as the README, as it's sourced from the
  docstrings

Additionally, this converts all READMEs from Markdown to ReST,
because the documentation already uses ReST, and other docstrings
in the codebase are in ReST for this reason.
2021-04-05 17:42:31 +02:00
..
local Fediverse: First draft. 2020-05-09 19:27:34 +02:00
__init__.py all plugins: auto-generate READMEs 2021-04-05 17:42:31 +02:00
activitypub.py Fediverse: Cache host support for webfinger before snarfing. 2020-05-14 21:33:34 +02:00
config.py Fediverse: Add URL snarfer. 2020-05-10 14:52:55 +02:00
plugin.py Fediverse: Remove nick prefix from snarfer output. 2020-05-16 23:15:11 +02:00
README.rst all plugins: auto-generate READMEs 2021-04-05 17:42:31 +02:00
test_data.py Fediverse: black 2020-05-16 23:14:46 +02:00
test.py Fediverse: Show attachment URLs. 2020-05-15 18:51:19 +02:00

Documentation for the Fediverse plugin for Supybot

Purpose

Fetches information from ActivityPub servers.

Enabling Secure Fetch

The default configuration works with most ActivityPub servers, but not all of them, because they require an HTTP Signature to fetch profiles and statuses.

Because of how HTTP Signatures work, you need to add some configuration for Limnoria to support it.

First, you should set supybot.servers.http.port to a port you want your bot to listen on (by default it's 8080). If there are already plugins using it (eg. if Fediverse is already running), you should either unload all of them and load them back, or restart your bot.

Then, you must configure a reverse-proxy in front of your bot (eg. nginx), and it must support HTTPS.

Finally, set supybot.servers.http.publicUrl to the public URL of this server (when opening this URL in your browser, it should show a page with a title like "Supybot web server index").

Usage

Fetches information from ActivityPub servers.

Commands

featured <@user@instance>

Returnes the featured statuses of @user@instance (aka. pinned toots).

profile <@user@instance>

Returns generic information on the account @user@instance.

status <url>

Shows the content of the status at <url>.

statuses <@user@instance>

Returned the last statuses of @user@instance.

Configuration

supybot.plugins.Fediverse.public

This config variable defaults to "True", is not network-specific, and is not channel-specific.

Determines whether this plugin is publicly visible.