Add Open in Apple Music - discordRPC
This commit is contained in:
parent
0920858aa5
commit
2ced493257
1 changed files with 9 additions and 2 deletions
|
@ -1,4 +1,5 @@
|
||||||
import * as RPC from 'discord-rpc'
|
import * as RPC from 'discord-rpc'
|
||||||
|
import { app } from 'electron';
|
||||||
|
|
||||||
export default class DiscordRichPresence {
|
export default class DiscordRichPresence {
|
||||||
|
|
||||||
|
@ -14,7 +15,7 @@ export default class DiscordRichPresence {
|
||||||
public name: string = 'Discord Rich Presence';
|
public name: string = 'Discord Rich Presence';
|
||||||
public description: string = 'Discord RPC plugin for Cider';
|
public description: string = 'Discord RPC plugin for Cider';
|
||||||
public version: string = '1.0.0';
|
public version: string = '1.0.0';
|
||||||
public author: string = 'vapormusic/Core (Cider Collective)';
|
public author: string = 'yazninja/Core (Cider Collective)';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Plugin Initialization
|
* Plugin Initialization
|
||||||
|
@ -101,9 +102,12 @@ export default class DiscordRichPresence {
|
||||||
this._client.clearActivity().catch((e: any) => console.error(`[DiscordRichPresence][clearActivity] ${e}`));
|
this._client.clearActivity().catch((e: any) => console.error(`[DiscordRichPresence][clearActivity] ${e}`));
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
let data = app.mk.api.v3.music(`/v1/me/library/songs/${app.mk.nowPlayingItem.id}`);
|
||||||
|
data = data.data.data[0];
|
||||||
|
console.log("DISCORDRPC", data.attributes);
|
||||||
|
|
||||||
const listenURL = `https://cider.sh/p?s&id=${attributes.playParams.id}` // cider://play/s/[id] (for song)
|
const listenURL = `https://cider.sh/p?s&id=${attributes.playParams.id}` // cider://play/s/[id] (for song)
|
||||||
|
|
||||||
this._activity = {
|
this._activity = {
|
||||||
details: attributes.name,
|
details: attributes.name,
|
||||||
state: `${attributes.artistName ? `by ${attributes.artistName}` : ''}`,
|
state: `${attributes.artistName ? `by ${attributes.artistName}` : ''}`,
|
||||||
|
@ -112,11 +116,14 @@ export default class DiscordRichPresence {
|
||||||
largeImageKey: (attributes.artwork.url.replace('{w}', '1024').replace('{h}', '1024')) ?? 'cider',
|
largeImageKey: (attributes.artwork.url.replace('{w}', '1024').replace('{h}', '1024')) ?? 'cider',
|
||||||
largeImageText: attributes.albumName,
|
largeImageText: attributes.albumName,
|
||||||
instance: false, // Whether the activity is in a game session
|
instance: false, // Whether the activity is in a game session
|
||||||
|
|
||||||
buttons: [
|
buttons: [
|
||||||
{label: "Listen on Cider", url: listenURL},
|
{label: "Listen on Cider", url: listenURL},
|
||||||
|
{label: "Open In Apple Music", url: data.attributes.url},
|
||||||
]
|
]
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
// Checks if the name is greater than 128 because some songs can be that long
|
// Checks if the name is greater than 128 because some songs can be that long
|
||||||
if (this._activity.details && this._activity.details.length > 128) {
|
if (this._activity.details && this._activity.details.length > 128) {
|
||||||
this._activity.details = this._activity.details.substring(0, 125) + '...'
|
this._activity.details = this._activity.details.substring(0, 125) + '...'
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue