presence: new fields
This commit is contained in:
parent
6bae1a2301
commit
02d0e13a2e
1 changed files with 33 additions and 5 deletions
|
@ -24,6 +24,8 @@ const {formatTime} = require("#util/time.js");
|
||||||
}
|
}
|
||||||
})();*/
|
})();*/
|
||||||
|
|
||||||
|
const ActivityDisplayTypes = ["Name", "State", "Details"];
|
||||||
|
|
||||||
const NOWPLAYING_BAR_LENGTH = 32;
|
const NOWPLAYING_BAR_LENGTH = 32;
|
||||||
const NOWPLAYING_BAR_CHAR = "\u2014";
|
const NOWPLAYING_BAR_CHAR = "\u2014";
|
||||||
|
|
||||||
|
@ -192,17 +194,25 @@ presence.callback = async function (msg, line) {
|
||||||
let details = activity.details;
|
let details = activity.details;
|
||||||
if (activity.name == "Spotify" && activity.sync_id) {
|
if (activity.name == "Spotify" && activity.sync_id) {
|
||||||
details = `[${details}](https://open.spotify.com/track/${activity.sync_id})`;
|
details = `[${details}](https://open.spotify.com/track/${activity.sync_id})`;
|
||||||
|
} else if (activity.details_url) {
|
||||||
|
details = `[${details}](${activity.details_url})`;
|
||||||
}
|
}
|
||||||
descLines.push(`**${details}**`);
|
descLines.push(`**${details}**`);
|
||||||
}
|
}
|
||||||
if (activity.state) {
|
if (activity.state) {
|
||||||
let stateLine = activity.state;
|
let stateLine = activity.state;
|
||||||
if (activity.name == "Spotify") stateLine = "by " + stateLine.split("; ").join(", ");
|
if (activity.name == "Spotify") {
|
||||||
|
stateLine = stateLine.replaceAll("; ", ", ");
|
||||||
|
} else if (activity.state_url) {
|
||||||
|
stateLine = `[${stateLine}](${activity.state_url})`;
|
||||||
|
}
|
||||||
descLines.push(stateLine);
|
descLines.push(stateLine);
|
||||||
}
|
}
|
||||||
if (activity.assets?.large_text) {
|
if (activity.assets?.large_text) {
|
||||||
let albumLine = activity.assets.large_text;
|
let albumLine = activity.assets.large_text;
|
||||||
if (activity.name == "Spotify") albumLine = "on " + albumLine;
|
if (activity.assets.large_url) {
|
||||||
|
albumLine = `[${albumLine}](${activity.assets.large_url})`;
|
||||||
|
}
|
||||||
|
|
||||||
if (activity.party?.size) {
|
if (activity.party?.size) {
|
||||||
albumLine += ` (${activity.party.size[0]} of ${activity.party.size[1]})`;
|
albumLine += ` (${activity.party.size[0]} of ${activity.party.size[1]})`;
|
||||||
|
@ -252,16 +262,34 @@ presence.callback = async function (msg, line) {
|
||||||
descLines.push(`-# Platform: ${activity.platform}`);
|
descLines.push(`-# Platform: ${activity.platform}`);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (activity.status_display_type != null) {
|
||||||
|
descLines.push(
|
||||||
|
`-# Display Type: ${
|
||||||
|
ActivityDisplayTypes[activity.status_display_type] ?? `<unknown type: ${activity.status_display_type}>`
|
||||||
|
}`
|
||||||
|
);
|
||||||
|
}
|
||||||
|
|
||||||
if (activity.assets?.large_text && activity.type != 2) {
|
if (activity.assets?.large_text && activity.type != 2) {
|
||||||
descLines.push("### Large Text", activity.assets.large_text);
|
descLines.push(
|
||||||
|
"### Large Text",
|
||||||
|
activity.assets.large_url
|
||||||
|
? `[${activity.assets.large_text}](${activity.assets.large_url})`
|
||||||
|
: activity.assets.large_text
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (activity.assets?.small_text) {
|
if (activity.assets?.small_text) {
|
||||||
descLines.push("### Small Text", activity.assets.small_text);
|
descLines.push(
|
||||||
|
"### Small Text",
|
||||||
|
activity.assets.small_url
|
||||||
|
? `[${activity.assets.small_text}](${activity.assets.small_url})`
|
||||||
|
: activity.assets.small_text
|
||||||
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
descLines.push(
|
descLines.push(
|
||||||
`\n-# ${activity.application_id ? activity.application_id + " \u2022 " : ""}<t:${Math.floor(
|
`\n-# ${activity.application_id ? `ID: ${activity.application_id} \u2022 ` : ""}<t:${Math.floor(
|
||||||
activity.created_at / 1000
|
activity.created_at / 1000
|
||||||
)}:f>`
|
)}:f>`
|
||||||
);
|
);
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue