Integrations
What Righteous connects to outside Discord (Spotify, GitHub, Last.fm, Letterboxd, game lookups and more), what each one needs, and what's currently switched off.
Righteous talks to a handful of third-party services beyond Discord itself. Some need nothing from you at all; a couple need real setup. This page covers what each one needs and which tier unlocks it, including the two that are switched off right now.
Connect Spotify
,spotify login needs Self Premium, and it's the
most involved setup in the bot: there's no server-side callback listening for Spotify's redirect, so
you complete the last step by hand.
Run the command
Syntax
,spotify login
The bot posts an Authorize here link and a Login button.
Authorize on Spotify's site
Click the link, sign in if you need to, and press Agree. Spotify redirects your browser to a
URL that starts with a public address and carries ?code=...: that's the part that matters, not
the page itself, which won't load anything meaningful.
Click Login and paste the whole redirect URL
Press the Login button on the bot's message: it opens a small form. Paste the entire address bar contents into it, exactly as your browser shows it, and submit.
The paste box is forgiving
It accepts the full redirect URL, a URL with no https:// in front, angle brackets Discord adds
around a pasted link (<...>), or just the bare code on its own if that's all you have. What it
can't accept is a code used twice: each one works once, for a few minutes, so if the login form
times out (90 seconds) or the paste is rejected, run ,spotify login again for a fresh one rather
than reusing the old link.
Once linked, ,spotify controls playback, likes,
playlists and queueing (all Self Premium) while ,spotify playlists and ,spotify releases
(new releases from followed artists) work for anyone who's linked an account. A local file isn't
a real Spotify track (no id, no metadata Spotify can hand back), so ,spotify np on one shows the
action buttons greyed out with no explanation: there's nothing more specific to say. A podcast
episode greys the same buttons out but does say why, since "this isn't a song" is worth stating.
Mirror GitHub activity into a channel
GitHub Feeds is its own large surface: adding a repository, the inbound webhook and its secret, posting identity, and the reasons a feed goes quiet. See Feeds for all of it.
Mirror an X/Twitter account into a channel
Twitter Feeds is its own large surface: setup, filters, pinging, and the three different reasons a feed can go quiet. See Twitter Feeds for all of it.
Customize the bot's own profile for your server
,customize needs Administrator and Server
Premium. It changes Righteous's avatar, banner and bio for your server only, using Discord's own
per-guild bot profile: nobody outside your server sees the change.
Syntax
,customize avatar <image URL or attachment>
Syntax
,customize banner <image URL or attachment>
Syntax
,customize bio <text>
Syntax
,customize reset [avatar|bio|banner|all]
Discord rate-limits per-guild profile edits fairly aggressively: if a change doesn't seem to take, wait rather than repeating the command, which just spends the same limit again.
Last.fm
Last.fm is its own large surface: linking an account, scrobble stats, crowns, WhoKnows and the rest. See Last.fm overview for all of it.
Letterboxd
Link a Letterboxd account, sync a library, look up films and diaries, plan a group watchparty, get recommendations, and get a styled card when a link is shared. All free apart from mirroring a member's new logs into a channel, which needs Server Premium. See Letterboxd for all of it.
Game and utility lookups
A handful of smaller integrations, free unless noted:
,overwatch(,ow): Overwatch 2 career stats, hero pools, and the current meta. Free.,fortnite: the current item shop, and player stats. Free.,minecraft: a player's profile and skin, or a server's status. Free.
On slash these three live under one command
The slash forms are /game overwatch stats, /game fortnite featured, /game minecraft status
and so on. They used to be /overwatch, /fortnite and /minecraft, and those names no longer
exist: Discord allows an app only 100 slash commands, and folding the game lookups under one root
is what made room for other things. The prefix commands above are unchanged — ,ow,
,fortnite and ,minecraft work exactly as they always have.
,juice(,jw): the Juice WRLD song/leak/session database. Boosting Premium: free to unlock, just boost the support server.,translate(,tr): translates text, or reply to a message to translate it. Free.,transcribe(,ts): turns a voice message into text. Free for a voice message; transcribing an uploaded audio/video file needs Self Premium.
What's turned off right now
Two commands exist in the bot but currently don't run at all. They answer with nothing rather than partial or broken results:
/ocr: image-to-text. Disabled while its text-recognition provider is unavailable.,valorant: account, rank and match lookups. Disabled because the API it depends on refuses every request without a working key.
Neither is a feature to route someone toward; if a member asks, the honest answer is that it's currently unavailable, not broken on their end.
Comics needs a piece of the bot's own hosting that isn't guaranteed
,comics (Boosting Premium) looks up and embeds comic
pages, but it depends on a separate piece of infrastructure the bot's host runs to get past the
source site's anti-bot page. If that's down, ,comics is down with it, independent of anything on
your end.
Common issues
Spotify login says the code was rejected. Each code from the redirect URL works exactly once and
expires within a few minutes: run ,spotify login again for a fresh authorize link rather than
reusing the old one.
A Spotify command says I need Self Premium. Controlling playback, likes, playlists and queueing all need it; browsing playlists and new releases for an account that's already linked doesn't.
A bot avatar/banner/bio change from ,customize doesn't seem to apply. Discord rate-limits
per-guild profile edits; wait rather than repeating the command, which spends the same limit again
without helping.
/ocr or ,valorant doesn't respond at all. They're switched off. See What's turned off right
now above. That's not specific to your server.