diff --git a/src/handleSpam.js b/src/handleSpam.js new file mode 100644 index 0000000..a4c72f3 --- /dev/null +++ b/src/handleSpam.js @@ -0,0 +1,11 @@ +const phrases = [ + 'Did you know? Zhachev is a twat.', + 'Zhachev is a poor lonely baby who has been stalking this IRC for over a year. anti-civ 4 lyfe!', +] + +const handleSpam = event => { + const phrase = phrases[Math.floor(Math.random() * phrases.length)] + return event.reply(phrase) +} + +module.exports = handleSpam diff --git a/src/spotify.js b/src/spotify.js index d4235ee..dd1d515 100644 --- a/src/spotify.js +++ b/src/spotify.js @@ -3,6 +3,9 @@ const chalk = require('chalk') require('dotenv').config() const { insertTrack } = require('./mpc-commands') +let request = '' +const handleSpam = require('./handleSpam') + const CLIENT_ID = process.env.CLIENT_ID const CLIENT_SECRET = process.env.CLIENT_SECRET @@ -47,29 +50,33 @@ const searchTrack = event => { } const requestTrack = event => { - let pattern = /^!request "(.+?)"( artist "(.+?)")?/ - let match = event.message.match(pattern) - if (!match) - return event.reply( - 'Incorrect syntax. Use !request "track name" artist "artist name" (artist and artist name optional)' - ) + if (event.message === request) return handleSpam(event) + else { + request = event.message + let pattern = /^!request "(.+?)"( artist "(.+?)")?/ + let match = event.message.match(pattern) + if (!match) + return event.reply( + 'Incorrect syntax. Use !request "track name" artist "artist name" (artist and artist name optional)' + ) - let query = match[1] - if (match[3]) query += ` artist:${match[3]}` - //printQuery(query) - spotify.search({ type: 'track', query }).then(data => { - if (!data || !data.tracks) return event.reply('Something went wrong.') - if (data.tracks.total === 0) return event.reply('No results.') - const { trackName, artistName, albumName, uri } = parseTrackData( - data.tracks - ) - printTrackData(trackName, artistName, albumName, uri) - const { error } = insertTrack(uri) - if (error) return event.reply('Something went wrong.') - const request = `'${trackName}' by ${artistName}` - addToPlaylist(event.nick, `${uri} # ${request}`) - event.reply(`Requested ${request}`) - }) + let query = match[1] + if (match[3]) query += ` artist:${match[3]}` + //printQuery(query) + spotify.search({ type: 'track', query }).then(data => { + if (!data || !data.tracks) return event.reply('Something went wrong.') + if (data.tracks.total === 0) return event.reply('No results.') + const { trackName, artistName, albumName, uri } = parseTrackData( + data.tracks + ) + printTrackData(trackName, artistName, albumName, uri) + const { error } = insertTrack(uri) + if (error) return event.reply('Something went wrong.') + const request = `'${trackName}' by ${artistName}` + addToPlaylist(event.nick, `${uri} # ${request}`) + event.reply(`Requested ${request}`) + }) + } } // const printQuery = query => {