Compare commits

...

1 Commits

Author SHA1 Message Date
3503a6ad9c add handleSpam 2019-12-23 07:29:05 -05:00
2 changed files with 40 additions and 22 deletions

11
src/handleSpam.js Normal file
View File

@ -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

View File

@ -3,6 +3,9 @@ const chalk = require('chalk')
require('dotenv').config() require('dotenv').config()
const { insertTrack } = require('./mpc-commands') const { insertTrack } = require('./mpc-commands')
let request = ''
const handleSpam = require('./handleSpam')
const CLIENT_ID = process.env.CLIENT_ID const CLIENT_ID = process.env.CLIENT_ID
const CLIENT_SECRET = process.env.CLIENT_SECRET const CLIENT_SECRET = process.env.CLIENT_SECRET
@ -47,29 +50,33 @@ const searchTrack = event => {
} }
const requestTrack = event => { const requestTrack = event => {
let pattern = /^!request "(.+?)"( artist "(.+?)")?/ if (event.message === request) return handleSpam(event)
let match = event.message.match(pattern) else {
if (!match) request = event.message
return event.reply( let pattern = /^!request "(.+?)"( artist "(.+?)")?/
'Incorrect syntax. Use !request "track name" artist "artist name" (artist and artist name optional)' 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] let query = match[1]
if (match[3]) query += ` artist:${match[3]}` if (match[3]) query += ` artist:${match[3]}`
//printQuery(query) //printQuery(query)
spotify.search({ type: 'track', query }).then(data => { spotify.search({ type: 'track', query }).then(data => {
if (!data || !data.tracks) return event.reply('Something went wrong.') if (!data || !data.tracks) return event.reply('Something went wrong.')
if (data.tracks.total === 0) return event.reply('No results.') if (data.tracks.total === 0) return event.reply('No results.')
const { trackName, artistName, albumName, uri } = parseTrackData( const { trackName, artistName, albumName, uri } = parseTrackData(
data.tracks data.tracks
) )
printTrackData(trackName, artistName, albumName, uri) printTrackData(trackName, artistName, albumName, uri)
const { error } = insertTrack(uri) const { error } = insertTrack(uri)
if (error) return event.reply('Something went wrong.') if (error) return event.reply('Something went wrong.')
const request = `'${trackName}' by ${artistName}` const request = `'${trackName}' by ${artistName}`
addToPlaylist(event.nick, `${uri} # ${request}`) addToPlaylist(event.nick, `${uri} # ${request}`)
event.reply(`Requested ${request}`) event.reply(`Requested ${request}`)
}) })
}
} }
// const printQuery = query => { // const printQuery = query => {