Skip to main content

Teal.fm

Other Uses

teal.fm is a social discovery and web viewing service for scrobbles stored/available on the ATProto network/your repository in a PDS (Personal Data Server).

This Source monitors the teal.fm scrobbles in your PDS and then re-scrobbles discovered tracks to configured clients.

Learn more about how teal.fm scrobbles work in the teal.fm (Client) docs.

Setup

Follow the Setup instructions in the teal.fm (Client) docs to get access to your Bluesky PDS repository and scrobble data.

Configuration

See the teal.fm (Client) configuration for general setup. The main differences for Source configuration:

  • Cannot be setup with ENV config
  • File/AIO config must include "configureAs": "source"

Service Filtering

serviceAllow and serviceDeny are lists that can be used to filter what Plays are scrobbles from teal.fm. These correspond to the base domain of the music service where the Play is from, originally. The values in the list can be a subset of the actual service name (they do not need to be exact matches).

Only one filter can be used at a time. If serviceAllow is configured then serviceDeny will be ignored.

If a Play does not have an associated music service it can be allowed/denied using the special keyword unknown.

If you are unsure what services are being used for your scrobbles you can check this by:

  • use atproto.at to lookup your DID/handle
  • View the Raw Data for the PDS Collection fm.teal.alpha.feed.play
  • Check the musicServiceBaseDomain property for each record
Examples

Allowing only scrobbles from plyr.fm:

tealfm.json
[
{
"name": "myTealSource",
"configureAs": "source",
"data": {
"identifier": "alice.bsky.social",
"appPassword": "twog-phu7-4dhe-y4j3",

"serviceAllow": ["plyr"],
}
}
]

Deny scrobbles from last.fm:

tealfm.json
[
{
"name": "myTealSource",
"configureAs": "source",
"data": {
"identifier": "alice.bsky.social",
"appPassword": "twog-phu7-4dhe-y4j3",

"serviceDeny": ["last"],
}
}
]

Allow scrobbles from plyr.fm and unknown services:

tealfm.json
[
{
"name": "myTealSource",
"configureAs": "source",
"data": {
"identifier": "alice.bsky.social",
"appPassword": "twog-phu7-4dhe-y4j3",

"serviceAllow": ["plyr", "unknown"],
}
}
]

ENV Config Type

note

You cannot use ENV variables shown in the teal.fm Client config -- multi-scrobbler assumes teal.fm ENVs are always used for the client configuration. You must use the File or AIO config to setup teal.fm as a Source.