SpotifyHonorific is a Dalamud plugin for Final Fantasy XIV that dynamically updates your character's honorific title based on the track you are currently listening to on Spotify.
It supports customizable templates, rainbow gradients, and glow effects.
This plugin relies on IPC to function. You must have the following plugin installed from the standard Dalamud repository:
- Honorific (by Caraxi)
- Add my custom plugin repository: https://raw.githubusercontent.com/Valiice/DalamudPluginRepo/master/repo.json
- Search for SpotifyHonorific in the Plugin Installer.
- Install and Enable.
To connect the plugin to your Spotify account, you need to create a simple "App" in the Spotify Developer Dashboard to get a Client ID. The plugin uses the OAuth PKCE flow, so a Client Secret is not needed.
- Go to the Spotify Developer Dashboard and log in.
- Click the "Create app" button.
- App Name: Enter a name (e.g., "FFXIV Honorific").
- App Description: Enter a short description (e.g., "FFXIV integration").
- Redirect URIs: Important! You must enter the exact URI:
http://127.0.0.1:5000/callback - Click Add next to the URI box.
- Under "Which API/SDKs are you planning to use?", check the box for Web API.
- Scroll to the bottom and click Save.
- Once the app is created, click the Settings button (or "Basic Information").
- Locate the Client ID.
- Keep this page open, you will need to copy this string.
- Open the plugin settings in FFXIV using
/spotifyhonorific config. - Paste your Client ID into the input field.
- Click the "Authenticate with Spotify" button.
- A browser window will open requesting permission. Accept it.
- Once successful, the plugin status will change to Green/Authenticated.
You can customize how your title looks using Scriban templates.
- Rainbow Mode: Cycles the color of the title through the RGB spectrum.
- Glow: Adds a glow color behind the title.
- Prefix: If checked, the text appears before your name. If unchecked, it acts as a standard title (after your name).
- AFK pause (in-game only): When your character's in-game online status is set to Away from Keyboard and nothing is currently playing on Spotify, the plugin stops polling until either the status clears or music resumes. This is not desktop-idle detection — it only triggers when FFXIV itself marks you as AFK, either via the
/afkcommand or via the in-game auto-AFK timer (Character Configuration → General → "Display 'Away from Keyboard' status if idle"). If you've disabled that auto-timer, only a manual/afkwill engage the pause.
When writing your Title Template, you can use the following variables:
| Variable | Type | Description |
|---|---|---|
Activity.Name |
String | The name of the track. |
Activity.Artists |
List | A list of artists on the track. |
Activity.Album.Name |
String | The name of the album. |
Activity.DurationMs |
Int | Total duration of the track in milliseconds. |
Activity.Popularity |
Int | The popularity score (0-100). |
Context.SecsElapsed |
Double | Seconds elapsed since the song started/plugin updated. |
Simple Artist - Song
{{ Activity.Artists[0].Name }} - {{ Activity.Name }}
Truncate long names (Max 32 chars)
{{ Activity.Name | string.truncate 30 }}
Scrolling Text Effect (Default) This cycles between "Listening to Spotify", the Song Name, and the Artist Name every 10 seconds.
♪{{- if (Context.SecsElapsed % 30) < 10 -}}
Listening to Spotify
{{- else if (Context.SecsElapsed % 30) < 20 -}}
{{ Activity.Name | string.truncate 30 }}
{{- else -}}
{{ Activity.Artists[0].Name | string.truncate 30 }}
{{- end -}}♪
/spotifyhonorific config- Opens the configuration and settings window.
- Title not appearing? Ensure you have the Honorific plugin (by Caraxi) installed and enabled.
- "Spotify client is null"? Your authentication token may have expired. Go to the config and click "Authenticate with Spotify" again.
- Not updating while AFK? Polling only pauses when your in-game online status is Away from Keyboard and Spotify isn't playing anything. See the Behavior section above for the conditions that flip that status. Desktop-only idle (e.g. alt-tabbed) does not pause polling.
This project is licensed under the GNU Affero General Public License v3.0. See LICENSE for details.


