Limnoria/plugins/Fediverse
2021-04-17 20:08:33 +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: Move Secure Fetch documentation to the 'Usage' section 2021-04-17 20:08:33 +02:00
README.rst supybot-plugin-doc: Add labels for all command and config variables 2021-04-06 00:33:07 +02:00
test_data.py Fediverse: black 2020-05-16 23:14:46 +02:00
test.py callbacks: Make snarfers' output paginatable with @more 2021-04-16 23:38:44 +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

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.