mirror of
				https://github.com/KevinMidboe/Spotify-Bot.git
				synced 2025-10-29 18:00:15 +00:00 
			
		
		
		
	Revert "Can now add songs to playlist, with any spotify URL, from desktop app or browser. Need to wait for facebook to start working on the chat-bot"
This reverts commit 86fea244dd.
			
			
This commit is contained in:
		| @@ -1 +0,0 @@ | ||||
| {"access_token": "BQDD6iS0idy9_aS8ckrfEp9NbWbVI5udyc2E4V7LUUPMG60kvk5Pry13QsHmOMOKv5O5D7XGT6UeGs25-DqtM4LgFkgztCay2p_n9C6FvDrJYmvgBMivJQOpUWK1TiNRl4vbGKazb7_n_vTmuLfs8QqUtshwFuuIO4MrL2vYkcbupRI", "expires_in": 3600, "expires_at": 1522411741, "token_type": "Bearer", "scope": "playlist-modify-public", "refresh_token": "AQCCEkzHmh5Vdbn1a6Y1ZV_0_uXApmRYHNk7zrLaC6sZxernecjXe-v2U3aqoFoE-cZssf-UxL9xpGDsubptEef29ig0ZmxVJT3nmEWau14jKFj8DW0NbjcVGVdBKSXg7Uo"} | ||||
| @@ -1,8 +0,0 @@ | ||||
| import os | ||||
| username = 'ribe1912' | ||||
| clientID = '9f8caa1d3bb44187854c5282f94f83b2' | ||||
| #damn os-function doesn't work | ||||
| clientSecret = os.environ.get('client_secret') | ||||
| clientSecret = 'fa0dd2c91ca045dbb53e158e49f1aa3d' | ||||
| redirectUri = 'https://blooming-refuge-48604.herokuapp.com/' | ||||
| playlistID = 'https://open.spotify.com/user/ribe1912/playlist/0mTtRpipjSnsq3Rgd12CQu' | ||||
							
								
								
									
										38
									
								
								spotify.py
									
									
									
									
									
								
							
							
						
						
									
										38
									
								
								spotify.py
									
									
									
									
									
								
							| @@ -2,52 +2,56 @@ import pprint | ||||
| import sys | ||||
| import spotipy | ||||
| import os | ||||
| import config as cnf | ||||
| import spotipy.util as util | ||||
|  | ||||
| def getKeysAndPlaylist(): | ||||
|  | ||||
|     clientID = '9f8caa1d3bb44187854c5282f94f83b2' | ||||
|     clientSecret = os.environ.get('client_secret') | ||||
|     print("HHEHEHEHEHE") | ||||
|     print(clientSecret) | ||||
|     redirectUri = 'https://blooming-refuge-48604.herokuapp.com/' | ||||
|     playlistID = 'https://open.spotify.com/user/ribe1912/playlist/0mTtRpipjSnsq3Rgd12CQu' | ||||
|  | ||||
|     return clientID, clientSecret, redirectUri, playlistID | ||||
|  | ||||
| def getUsernameAndLinks(): | ||||
|     username = cnf.username | ||||
|     if len(sys.argv) > 1: | ||||
|         trackLinks = sys.argv[1:] | ||||
|     if len(sys.argv) > 2: | ||||
|         username = sys.argv[1] | ||||
|         trackLinks = sys.argv[2:] | ||||
|     else: | ||||
|         print("Usage: %s  track_id ..." % (sys.argv[0],)) | ||||
|         print("Usage: %s username playlist_id track_id ..." % (sys.argv[0],)) | ||||
|         sys.exit() | ||||
|  | ||||
|     return username, trackLinks | ||||
|  | ||||
| def checkAndConvertLink(trackLinks): | ||||
|     linkString = trackLinks[0] | ||||
|     #Just getting the base-62 number out of the spotify link so that links from browser, desktop and app can be used | ||||
|     trackStringIndex = linkString.find('track/') | ||||
|     #'?' + str is added to the hyperlink when copying songs from the app / desktop. Remove this to run in webbrowser | ||||
|     questionMarkIndex = linkString.find('?') | ||||
|     print(trackStringIndex) | ||||
|     print(questionMarkIndex) | ||||
|     if questionMarkIndex != -1: | ||||
|         print("Getting the base-62 numbers out of hyperlink") | ||||
|         trackLinks = [linkString[trackStringIndex + len('track/'): questionMarkIndex]] #Only supports adding one song at a time so far. | ||||
|         trackLinks = [linkString[0:questionMarkIndex]] #Only supports adding one song at a time so far. | ||||
|  | ||||
|     else: | ||||
|         print("Link format is already in base-62 form") | ||||
|         pass | ||||
|  | ||||
|     return trackLinks | ||||
|  | ||||
| def addSongToPlaylist(): | ||||
|  | ||||
|     #Get keys which allows to connect to the Spotify app | ||||
|     clientID, clientSecret, redirectUri, playlistID = getKeysAndPlaylist() | ||||
|     username, trackLinks = getUsernameAndLinks() | ||||
|     trackLinks = checkAndConvertLink(trackLinks) | ||||
|     trackLink = checkAndConvertLink(trackLinks) | ||||
|  | ||||
|     #This gets the authentication needed to add song to the user's playlist | ||||
|     scope = 'playlist-modify-public' | ||||
|     token = util.prompt_for_user_token(username, scope, client_id=cnf.clientID, client_secret=cnf.clientSecret, redirect_uri = cnf.redirectUri) | ||||
|     token = util.prompt_for_user_token(username, scope, client_id=clientID, client_secret=clientSecret, redirect_uri = redirectUri) | ||||
|     if token: | ||||
|         sp = spotipy.Spotify(token) | ||||
|         sp.trace = False | ||||
|         sp.trace_out = False | ||||
|  | ||||
|         #Append to spotify playlist | ||||
|         results = sp.user_playlist_add_tracks(cnf.username, cnf.playlistID, trackLinks) | ||||
|         results = sp.user_playlist_add_tracks(username, playlistID, trackLinks) | ||||
|         print(results) | ||||
|     else: | ||||
|         print("Can't get token for", username) | ||||
|   | ||||
							
								
								
									
										30
									
								
								test.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										30
									
								
								test.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,30 @@ | ||||
| # Creates a playlist for a user | ||||
|  | ||||
| import pprint | ||||
| import sys | ||||
| import os | ||||
| import subprocess | ||||
|  | ||||
| import spotipy | ||||
| import spotipy.util as util | ||||
|  | ||||
|  | ||||
| if len(sys.argv) > 2: | ||||
|     username = sys.argv[1] | ||||
|     playlist_name = sys.argv[2] | ||||
|     playlist_description = sys.argv[3] | ||||
| else: | ||||
|     print("Usage: %s username playlist-name playlist-description" % (sys.argv[0],)) | ||||
|     sys.exit() | ||||
|  | ||||
| scope = 'playlist-modify-public' | ||||
| token = util.prompt_for_user_token(username, scope, client_id='9f8caa1d3bb44187854c5282f94f83b2',client_secret='fa0dd2c91ca045dbb53e158e49f1aa3d',redirect_uri='https://blooming-refuge-48604.herokuapp.com/') | ||||
|  | ||||
| if token: | ||||
|     sp = spotipy.Spotify(auth=token) | ||||
|     sp.trace = False | ||||
|     playlists = sp.user_playlist_create(username, playlist_name, | ||||
|                                         playlist_description) | ||||
|     pprint.pprint(playlists) | ||||
| else: | ||||
|     print("Can't get token for", username) | ||||
		Reference in New Issue
	
	Block a user