This repository has been archived on 2025-01-14. You can view files and clone it, but cannot push or open issues or pull requests.
messagearr/app/commands/request.py
Parker 237aec245e
Large Overhaul - Jellyfin Temp Accounts
Temporary jellyfin accounts can now be made through messaging. Commands were moved out and into their own files and functions for organization.
2024-03-22 22:09:55 -05:00

49 lines
2.3 KiB
Python

import requests
import datetime
import initialize_variables
from create_message import create_message
def request(from_number, message):
# If the user has already run the /request command, delete the entry
# from the temp_movie_ids dict so that they can run the command again
if from_number in initialize_variables.temp_movie_ids.keys():
del initialize_variables.temp_movie_ids[from_number]
# If the user did not include a movie title, alert them to do so
if len(message) <= 9:
create_message(from_number, "Please include the movie title after the /request command.\nEX: /request The Dark Knight")
return
incoming_message = message.split(' ', 1)[1]
movie_request = incoming_message.replace(' ', '%20')
if movie_request.endswith("%20"):
movie_request = movie_request[:-3]
# Send a request to the radarr API to get the movie info
response = requests.get(f'{initialize_variables.radarr_host_url}/api/v3/movie/lookup?term={movie_request}', headers=initialize_variables.headers)
if len(response.json()) == 0:
create_message(from_number, "There were no results for that movie. Please make sure you typed the title correctly.")
return
# If the movie is already added to the library, return a message saying so.
if response.json()[0]['added'] != '0001-01-01T05:51:00Z':
create_message(from_number, "This movie is already added to the server.\n\nIf you believe this is an error, please contact Parker.")
return
# Add top 3 results to a message
message = ""
for i in range(min(3, len(response.json()))):
message += f"{i+1}. {response.json()[i]['folder']}\n\n"
if from_number not in initialize_variables.temp_movie_ids.keys():
initialize_variables.temp_movie_ids[from_number] = {
'ids': [],
'time': datetime.datetime.now()
}
initialize_variables.temp_movie_ids[from_number]['ids'].append(response.json()[i]['tmdbId'])
message += "Reply with the number associated with the movie you want to download. EX: 1\n\nIf the movie you want is not on the list, make sure you typed the title exactly as it is spelt, or ask Parker to manually add the movie."
create_message(from_number, message)
return