Remove manual scrobbling (lmao)
This commit is contained in:
parent
eb9263972e
commit
3104f0932f
1 changed files with 15 additions and 39 deletions
54
index.js
54
index.js
|
@ -8,7 +8,6 @@ const { createClient } = require("fix-esm").require("webdav");
|
|||
const path = require("path");
|
||||
const { readFileSync, writeFileSync } = require("fs");
|
||||
const io = require('socket.io-client');
|
||||
const { program } = require('commander');
|
||||
const NodeID3 = require('node-id3');
|
||||
|
||||
function pathGenerator({ url, name, channelName }) {
|
||||
|
@ -27,33 +26,21 @@ function writeLastSong({ name, channelName }) {
|
|||
return null;
|
||||
}
|
||||
|
||||
async function getVideo({ msName, msArtist }) {
|
||||
let trackData;
|
||||
let tags;
|
||||
async function getVideo() {
|
||||
const trackData = await fetch(
|
||||
`https://${process.env.LASTFM_INSTANCE}/2.0/?method=user.getrecenttracks&user=${process.env.LASTFM_USERNAME}&api_key=${process.env.LASTFM_API_KEY}&format=json&limit=1&extended=1`
|
||||
).then(x => x.json()).then(data => data.recenttracks.track[0]);
|
||||
|
||||
if (msName != null && msArtist != null) {
|
||||
trackData = {
|
||||
name: msName,
|
||||
artist: {
|
||||
name: msArtist
|
||||
}
|
||||
};
|
||||
} else {
|
||||
trackData = await fetch(
|
||||
`https://${process.env.LASTFM_INSTANCE}/2.0/?method=user.getrecenttracks&user=${process.env.LASTFM_USERNAME}&api_key=${process.env.LASTFM_API_KEY}&format=json&limit=1&extended=1`
|
||||
).then(x => x.json()).then(data => data.recenttracks.track[0]);
|
||||
|
||||
tags = {
|
||||
title: trackData.name,
|
||||
artist: trackData.artist.name,
|
||||
album: trackData.album["#text"],
|
||||
APIC: "./cover.png",
|
||||
userDefinedUrl: [{
|
||||
description: "Last.FM page",
|
||||
url: trackData.url
|
||||
}]
|
||||
}
|
||||
}
|
||||
const tags = {
|
||||
title: trackData.name,
|
||||
artist: trackData.artist.name,
|
||||
album: trackData.album["#text"],
|
||||
APIC: "./cover.png",
|
||||
userDefinedUrl: [{
|
||||
description: "Last.FM page",
|
||||
url: trackData.url
|
||||
}]
|
||||
};
|
||||
|
||||
if (checkLastSong({
|
||||
name: trackData.name,
|
||||
|
@ -192,24 +179,13 @@ async function uploadToNextcloud({ fileStream, url, name, channelName, tags, alb
|
|||
}
|
||||
|
||||
async function main() {
|
||||
program
|
||||
.option('-s, --song <value>', 'Look up a song', null)
|
||||
.option('-a, --artist <value>', 'Look up an artist', null);
|
||||
|
||||
program.parse(process.argv);
|
||||
|
||||
const options = program.opts();
|
||||
|
||||
const socket = io.connect(`http://localhost:${process.env.NOTIFICATION_SERVER_PORT}`, {reconnect: true});
|
||||
|
||||
socket.on('connect', function (s) {
|
||||
console.log('Successfully connected to notification server');
|
||||
});
|
||||
|
||||
const video = await getVideo({
|
||||
msName: options.song,
|
||||
msArtist: options.artist
|
||||
});
|
||||
const video = await getVideo();
|
||||
|
||||
if (video == null) return dismantle(socket);
|
||||
|
||||
|
|
Loading…
Reference in a new issue