97 lines
3.3 KiB
JavaScript
97 lines
3.3 KiB
JavaScript
export default function parse(data) {
|
|
const output = {};
|
|
const act = [];
|
|
|
|
const PrirorityActivityType = ['Coding', 'Listening to Spotify', 'Playing', 'Custom Status', 'Streaming', 'Watching', 'Competing', 'Unknown'];
|
|
|
|
output.discord = {
|
|
id: data.discord_user.id,
|
|
username: data.discord_user.username,
|
|
discriminator: data.discord_user.discriminator,
|
|
avatar_url: "https://cdn.discordapp.com/avatars/" + data.discord_user.id + "/" + data.discord_user.avatar + ".png",
|
|
avatar_decoration_url: "https://cdn.discordapp.com/avatar-decoration-presets/" + data.discord_user.avatar_decoration + ".png"
|
|
}
|
|
|
|
output.kv = data.kv;
|
|
|
|
if (data.listening_to_spotify) {
|
|
output.spotify = {
|
|
album: data.spotify.album,
|
|
artist: data.spotify.artist,
|
|
song: data.spotify.song,
|
|
album_art_url: data.spotify.album_art_url,
|
|
timestamps: data.spotify.timestamps,
|
|
track_id: data.spotify.track_id
|
|
}
|
|
}
|
|
for(const activity of data.activities) {
|
|
if(activity.name.includes("Visual Studio Code")){
|
|
act.push({
|
|
prirority_id: PrirorityActivityType.indexOf('Coding'),
|
|
...activity
|
|
});
|
|
}
|
|
else if(activity.name.includes("Spotify")){
|
|
act.push({
|
|
prirority_id: PrirorityActivityType.indexOf('Listening to Spotify'),
|
|
...activity
|
|
});
|
|
}
|
|
else if(activity.type === 0){
|
|
act.push({
|
|
prirority_id: PrirorityActivityType.indexOf('Playing'),
|
|
...activity
|
|
});
|
|
}
|
|
|
|
else if(activity.name.includes("Custom Status")){
|
|
act.push({
|
|
prirority_id: PrirorityActivityType.indexOf('Custom Status'),
|
|
...activity
|
|
});
|
|
output.custom_status = {
|
|
state: activity.state,
|
|
emoji: {
|
|
name: activity.emoji?.name,
|
|
id: activity.emoji?.id,
|
|
animated: activity.emoji?.animated,
|
|
emoji_url: "https://cdn.discordapp.com/emojis/" + activity.emoji?.id + ".webp?size=44&quality=lossless"
|
|
}
|
|
};
|
|
}
|
|
else {
|
|
act.push({
|
|
prirority_id: PrirorityActivityType.indexOf('Unknown'),
|
|
...activity
|
|
});
|
|
break;
|
|
}
|
|
}
|
|
|
|
act.sort((a, b) => a.prirority_id - b.prirority_id);
|
|
|
|
output.activity = act[0];
|
|
|
|
if(output.activity.prirority_id == 1){
|
|
output.activity.assets = {
|
|
large_image : output.spotify.album_art_url,
|
|
small_image : "/images/brandlogos/SpotifyLogo.png"
|
|
}
|
|
}
|
|
|
|
else if(output.activity.prirority_id == 3){
|
|
output.activity.assets = {
|
|
large_image : "/images/anime-profile-pic.png",
|
|
small_image : output.custom_status.emoji.emoji_url,
|
|
}
|
|
}
|
|
|
|
else {
|
|
output.activity.assets = {
|
|
large_image : "https://cdn.discordapp.com/app-assets/"+output.activity.application_id+"/"+output.activity.assets.large_image+".png",
|
|
small_image : "https://cdn.discordapp.com/app-assets/"+output.activity.application_id+"/"+output.activity.assets.small_image+".png",
|
|
}
|
|
}
|
|
|
|
return output;
|
|
} |