示例#1
0
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\"")
示例#2
0
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?")
示例#3
0
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?")
示例#4
0
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!")
示例#5
0
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\"")
示例#6
0
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!")