Summary | Discourse plugin to show a user’s ListenBrainz listenings in their profile | |
Repository Link | https://git.sr.ht/~phw/discourse-listenbrainz | |
Install Guide | How to install plugins in Discourse |
Features
This Discourse plugin allows users to showcase their recent listenings from ListenBrainz in their user profile. The users can choose to show their most recent listen or general statistics about their ListenBrainz profile.
ListenBrainz is an online service to keep track of music you listen to and provides you with insights into your listening habits and recommendations. The project is completely open-source and publishes all data as open data.
This plugin is currently in use in the MusicBrainz community forums, but it might be interesting for other music related communities as well.
Configuration
Admin settings
You can configure the ListenBrainz plugin in the Discourse admin interface. The following options are available:
-
listenbrainz enable: Allow users to show their ListenBrainz status in their profiles. Default: enabled.
-
listenbrainz username matches discourse: Enable this if the usernames of the Discourse users usually match their ListenBrainz usernames. The users can still configure a different ListenBrainz username, but it will be pre-filled with their Discourse username. This option is primarily intended to be used on the MetaBrainz community forums. Default: disabled.
-
listenbrainz poster icon: Allow users to show a link to their ListenBrainz profile next to their username in each post. Default: enabled.
-
listenbrainz_onebox_enabled: Enables Onebox support for URLs to ListenBrainz profile pages. Default: enabled.
-
listenbrainz_onebox_range: Statistic time range for ListenBrainz Oneboxes. Default: This month.
User preferences
Each user stays in control whether their ListenBrainz activity gets shown in their profile. The users can configure this in their profile preferences. The following preferences are
available.
-
Show ListenBrainz information in my user profile: When enabled an infobox with details of the user’s ListenBrainz profile will be shown in the user’s user card and user profile. The content of the infobox can be configured with the options below. Default: disabled.
-
ListenBrainz username: The user’s ListenBrainz username. Must be set in order for the ListenBrainz details to show up for the user. If listenbrainz username matches discourse is enabled for the site than this defaults to the Discourse username, otherwise the default is empty.
-
Show a link to my ListenBrainz profile next to my Discourse username: When enabled a link to the user’s ListenBrainz profile is shown next to their username in each post. This option is only available if the site has listenbrainz poster icon enabled. Default: disabled.
-
Display: Configures the content shown in the ListenBrainz infobox. The following options are available:
-
Most recent listen: Show the user’s currently playing track or the most recently played track.
-
User profile statistics: Show general statistics for the user’s ListenBrainz profile, such as listen count, most played track and release cover art of the most played releases.
-
Most recent listen with fallback to user profile statistics: Attempt to show the recent listen, but if none is available fall back to showing the user profile statistics. This is the default setting.
-
-
Time range: Select the time range for which the user profile statistics get generated. Default: This month.
-
Fallback to larger time range if there are no listens in the selected range: If enabled, the profile statistics view will automatically fall back to a larger time range if you had no listens in the selected time range. E.g. if you have selected “This week” but have no listens recorded in the current week then the statistics will fall back to show “This month”. Default: enabled.
-
Show recent listen not older than: Do not show the user’s last played track if it is older than the given time. Default: 24 hours.
TODO
Please see the official issue tracker for open issue and planned features.