33 */
44
55
6- const fs = require ( 'fs' )
6+ const fs = require ( 'fs' ) ;
77const log = require ( '../helpers/lager.js' ) ;
88const config = require ( '../../config/config.js' ) ;
9- const axios = require ( 'axios' )
9+ const axios = require ( 'axios' ) ;
1010const albumArt = require ( 'album-art' ) ;
11- const yt = require ( "ytsr" )
11+ const yt = require ( "ytsr" ) ;
1212
1313
1414module . exports = async ( status ) => {
@@ -45,20 +45,18 @@ module.exports = async (status) => {
4545
4646 if ( config . rpc . whereToFetchOnline === 'apple' ) {
4747 if ( meta . title === undefined || meta . artist === undefined ) {
48-
4948 } else {
5049 if ( appleresponse . data . results [ 0 ] === undefined ) {
5150 var testartwork = await albumArt ( artist , options ) . then ( ( data ) => data ) ;
5251 if ( testartwork === undefined ) {
53- var artwork = config . rpc . largeIcon
54- var fetched = "Nowhere"
55- var enableYoutubeButton = "true"
52+ var artwork = config . rpc . largeIcon ;
53+ var fetched = "Nowhere" ;
54+ var enableYoutubeButton = "true" ;
5655 } else {
57- var artwork = testartwork
58- var fetched = "Spotify"
59- var enableYoutubeButton = true
56+ var artwork = testartwork ;
57+ var fetched = "Spotify" ;
58+ var enableYoutubeButton = true ;
6059 }
61-
6260 } else {
6361
6462 var artwork = appleresponse . data . results [ 0 ] . artworkUrl100 ;
@@ -69,81 +67,94 @@ module.exports = async (status) => {
6967
7068 } else {
7169 var artwork = await albumArt ( artist , options ) . then ( ( data ) => data ) ;
72- var fetched = "Spotify"
70+ var fetched = "Spotify" ;
7371 }
7472
7573
7674
7775 if ( config . debug === 'true' ) {
78- console . log ( artwork ) ,
79- console . log ( status . state ) ,
80- console . log ( fetched ) ,
81- console . log ( meta . title ) ,
82- console . log ( meta . artist )
76+ console . log ( artwork ) ;
77+ console . log ( status . state ) ;
78+ console . log ( fetched ) ;
79+ console . log ( meta . title ) ;
80+ console . log ( meta . artist ) ;
8381 }
8482
8583 if ( config . rpc . changeButtonProvider === "youtube" ) {
86- var enableYoutubeButton = "true"
84+ var enableYoutubeButton = "true" ;
8785 }
8886
8987 if ( meta . artist === undefined ) {
90- var artwork = config . rpc . largeIcon
91- var fetched = "Nowhere"
92- var enableYoutubeButton = "true"
88+ var artwork = config . rpc . largeIcon ;
89+ var fetched = "Nowhere" ;
90+ var enableYoutubeButton = "true" ;
9391 } else if ( meta . title === undefined ) {
94- var artwork = config . rpc . largeIcon
95- var fetched = "Nowhere"
96- var enableYoutubeButton = "true"
92+ var artwork = config . rpc . largeIcon ;
93+ var fetched = "Nowhere" ;
94+ var enableYoutubeButton = "true" ;
9795 }
9896
97+
98+ // Really not much
9999 if ( config . rpc . largeImageText === "artist" ) {
100- var largeImageTextIs = meta . artist
100+ var largeImageTextIs = meta . artist ;
101101 } else if ( config . rpc . largeImageText === "album" ) {
102- var largeImageTextIs = meta . album
102+ var largeImageTextIs = meta . album ;
103103 } else if ( config . rpc . largeImageText === "volume" ) {
104- var largeImageTextIs = `Volume: ${ Math . round ( status . volume / 2.56 ) } %`
104+ var largeImageTextIs = `Volume: ${ Math . round ( status . volume / 2.56 ) } %` ;
105105 } else if ( config . rpc . largeImageText === "title" ) {
106- var largeImageTextIs = meta . title
106+ var largeImageTextIs = meta . title ;
107107 } else if ( config . rpc . largeImageText === "fetched" ) {
108- var largeImageTextIs = `Artwork fetched from ${ fetched } `
108+ var largeImageTextIs = `Artwork fetched from ${ fetched } ` ;
109109 }
110110
111-
111+ // Checks if youtube button is turned on in the config, then searches the names on youtube
112112 if ( enableYoutubeButton ) {
113113 if ( meta . title === undefined ) {
114- const search = await yt ( `${ meta . filename } ` , { limit : 1 } )
115- const resultunjson = JSON . stringify ( search . items )
116- const result = JSON . parse ( resultunjson )
117- var url = result [ 0 ] . url
118- var label = "Listen on Youtube"
114+ const search = await yt ( `${ meta . filename } ` , { limit : 1 } ) ;
115+ const resultunjson = JSON . stringify ( search . items ) ;
116+ const result = JSON . parse ( resultunjson ) ;
117+ if ( result [ 0 ] === undefined ) {
118+ var url = "https://videolan.com/vlc" ;
119+ var label = "Visit VLC today!" ;
120+ } else {
121+ var url = result [ 0 ] . url ;
122+ var label = "Listen on Youtube" ;
123+ }
124+
119125 } else if ( meta . artist === undefined ) {
120- const search = await yt ( `${ meta . filename } ` , { limit : 1 } )
121- const resultunjson = JSON . stringify ( search . items )
122- const result = JSON . parse ( resultunjson )
123- var url = result [ 0 ] . url
124- var label = "Listen on Youtube"
126+ const search = await yt ( `${ meta . filename } ` , { limit : 1 } ) ;
127+ const resultunjson = JSON . stringify ( search . items ) ;
128+ const result = JSON . parse ( resultunjson ) ;
129+ if ( result [ 0 ] === undefined ) {
130+ var url = "https://videolan.com/vlc" ;
131+ var label = "Visit VLC today!" ;
132+ } else {
133+ var url = result [ 0 ] . url ;
134+ var label = "Listen on Youtube" ;
135+ }
125136 } else {
126- const search = await yt ( `${ meta . title } ${ meta . artist } ` , { limit : 1 } )
127- const resultunjson = JSON . stringify ( search . items )
128- const result = JSON . parse ( resultunjson )
129- var url = result [ 0 ] . url
130- var label = "Listen on Youtube"
137+ const search = await yt ( `${ meta . title } ${ meta . artist } ` , { limit : 1 } ) ;
138+ const resultunjson = JSON . stringify ( search . items ) ;
139+ const result = JSON . parse ( resultunjson ) ;
140+ var url = result [ 0 ] . url ;
141+ var label = "Listen on Youtube" ;
131142 }
132143
133144
134145 } else {
135- var url = appleresponse . data . results [ 0 ] . trackViewUrl
146+ var url = appleresponse . data . results [ 0 ] . trackViewUrl ;
136147
137- var label = "Listen on Apple Music"
148+ var label = "Listen on Apple Music" ;
138149 }
139-
140-
141150
142151
143152 const output = {
144-
153+ // Shows file thats playing.. well most of the time
145154 details : meta . title || meta . filename || "Playing something.." ,
155+ // Line 99 - 109 determines this
146156 largeImageText : largeImageTextIs ,
157+ // Sets album art depending on whats set in the file, or if album art cannot be found
147158 largeImageKey : artwork || "https://i.pinimg.com/originals/67/f6/cb/67f6cb14f862297e3c145014cdd6b635.jpg" ,
148159 smallImageKey : status . state ,
149160 smallImageText : `Volume: ${ Math . round ( status . volume / 2.56 ) } %` ,
@@ -179,9 +190,20 @@ module.exports = async (status) => {
179190 output . state = meta . now_playing || "Stream" ;
180191 } else if ( meta . artist ) {
181192 // if in an album
182- output . state = meta . artist ;
183- // if the song is part of an album
184- if ( meta . album ) output . state += ` - ${ meta . album } ` ;
193+ if ( meta . artist . length < 128 ) {
194+ output . state = "Artist's name is too long for discord :/" ;
195+ } else {
196+ output . state = meta . artist ;
197+ }
198+
199+
200+ if ( meta . album . length < 128 ) {
201+ output . state = meta . artist
202+ } else {
203+ if ( meta . album ) output . state += ` - ${ meta . album } ` ;
204+ }
205+ // Checks if the song is part of an album
206+
185207 // display track #
186208 if ( meta . track_number && meta . track_total && config . rpc . displayTrackNumber ) {
187209 output . partySize = parseInt ( meta . track_number , 10 ) ;
0 commit comments