def handleSongSearch(message, sender): songname = message artistname = None splitter = "by" if message.find(splitter) > -1: songname = message[:message.find(splitter)].strip() artistname = message[message.find(splitter)+len(splitter):].strip() if deezerapi.validate(songname, artistname): party.queuesong(sender, "deezer", songname, artistname) else: sendtext(sender, config['DEFAULT']['ai_name'] + ": " + "Unable to find song: " + songname + "on Deezer.") sendtext(sender, config['DEFAULT']['ai_name'] + ": " + "To send a song follow this format <Keyword><Source> <Song Title> by <Artist>" + "\n" + "For more commands please text" + "\"BHelp\"")
def genre(message, sender): playlistSize = int(message) try: info = speakermanager.getTrackInfo() genre = spotifyapi.genreSearch(info[2], playlistSize) songOnly = [] for iter in genre: party.queuesong(sender, "spotify", iter[0], iter[1]) songOnly.append(iter[0]) #sendtext(sender, "Playlist that matches your song: " + ','.join(songOnly)) except: sendtext(sender, config['DEFAULT']['ai_name'] + ": " + "Cannot generate playlist, is a song playing?")
def genre(message, sender): playlistSize = int(message) try: info = speakermanager.getTrackInfo() genre = spotifyapi.genreSearch(info[2], playlistSize) songOnly = [] for iter in genre: party.queuesong(sender, "spotify", iter[0], iter[1]) songOnly.append(iter[0]) #sendtext(sender, "Playlist that matches your song: " + ','.join(songOnly)) except: sendtext( sender, config['DEFAULT']['ai_name'] + ": " + "Cannot generate playlist, is a song playing?")
def handleLyricSearch(message, sender): apiKey = config['musixmatch']['apikey'] # 2000 hits per day searchTerm = urllib.parse.quote(message) url = "http://api.musixmatch.com/ws/1.1/track.search?q_lyrics=" + searchTerm + "&apikey=" + apiKey response = urlopen(url) tracks = json.loads(response.read().decode('utf-8'))['message']['body']['track_list'] tracksFound = len(tracks) if tracksFound > 0: firstSong = tracks[0]['track'] trackName = firstSong['track_name'] artistName = firstSong['artist_name'] party.queuesong(sender, "deezer", trackName, artistName) sendtext(sender, config['DEFAULT']['ai_name'] + ": " + "Found " + trackName + " by " + trackName + " ." ) else: sendtext(sender, config['DEFAULT']['ai_name'] + ": " + "Your song" + message + "was not found!")
def handleSongSearch(message, sender): songname = message artistname = None splitter = "by" if message.find(splitter) > -1: songname = message[:message.find(splitter)].strip() artistname = message[message.find(splitter) + len(splitter):].strip() if spotifyapi.validate(songname, artistname): party.queuesong(sender, "spotify", songname, artistname) else: sendtext( sender, config['DEFAULT']['ai_name'] + ": " + "Unable to find song: " + songname + "on Spotify.") sendtext( sender, config['DEFAULT']['ai_name'] + ": " + "To send a song follow this format <Keyword><Source> <Song Title> by <Artist>" + "\n" + "For more commands please text" + "\"BHelp\"")
def handleLyricSearch(message, sender): apiKey = config['musixmatch']['apikey'] # 2000 hits per day searchTerm = urllib.parse.quote(message) url = "http://api.musixmatch.com/ws/1.1/track.search?q_lyrics=" + searchTerm + "&apikey=" + apiKey response = urlopen(url) tracks = json.loads( response.read().decode('utf-8'))['message']['body']['track_list'] tracksFound = len(tracks) if tracksFound > 0: firstSong = tracks[0]['track'] trackName = firstSong['track_name'] artistName = firstSong['artist_name'] party.queuesong(sender, "spotify", trackName, artistName) sendtext( sender, config['DEFAULT']['ai_name'] + ": " + "Found " + trackName + " by " + trackName + " .") else: sendtext( sender, config['DEFAULT']['ai_name'] + ": " + "Your song" + message + "was not found!")