mirror of
https://github.com/JonasunderscoreJones/turbo-octo-potato.git
synced 2025-10-24 10:39:19 +02:00
49 lines
1.6 KiB
Python
49 lines
1.6 KiB
Python
import requests, os, dotenv
|
|
|
|
# Load the environment variables
|
|
dotenv.load_dotenv()
|
|
|
|
STEAM_API_KEY = os.getenv('STEAM_API_KEY')
|
|
STEAM_USER_ID = os.getenv('STEAM_USER_ID')
|
|
|
|
# Function to get a list of games for the given Steam user
|
|
def get_user_games(steam_user_id, api_key):
|
|
url = f'http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key={api_key}&steamid={steam_user_id}&format=json'
|
|
response = requests.get(url)
|
|
print(response)
|
|
data = response.json()
|
|
if 'games' in data['response']:
|
|
return data['response']['games']
|
|
else:
|
|
return []
|
|
|
|
# Function to get the total hours played for a specific game
|
|
def get_game_playtime(app_id):
|
|
url = f'http://api.steampowered.com/IPlayerService/GetOwnedGames/v0001/?key={STEAM_API_KEY}&steamid={STEAM_USER_ID}&format=json'
|
|
response = requests.get(url)
|
|
data = response.json()
|
|
|
|
total_playtime = 0
|
|
if 'games' in data['response']:
|
|
for game in data['response']['games']:
|
|
if game['appid'] == app_id:
|
|
total_playtime = game.get('playtime_forever', 0) # Playtime in minutes
|
|
break
|
|
|
|
return total_playtime / 60 # Convert from minutes to hours
|
|
|
|
# Main function to calculate the overall hours played across all games
|
|
def main():
|
|
games = get_user_games(STEAM_USER_ID, STEAM_API_KEY)
|
|
total_playtime = 0
|
|
|
|
for game in games:
|
|
app_id = game['appid']
|
|
print(f'Checking game {app_id}...')
|
|
game_playtime = get_game_playtime(app_id)
|
|
total_playtime += game_playtime
|
|
|
|
print(f'Total hours played across all games: {total_playtime:.2f} hours')
|
|
|
|
if __name__ == '__main__':
|
|
main()
|