Giter VIP home page Giter VIP logo

slavanomics / steamachievementnotifier Goto Github PK

View Code? Open in Web Editor NEW

This project forked from steamachievementnotifier/steamachievementnotifier

0.0 0.0 0.0 1.47 MB

Steam Achievement Notifier is a Powershell application that shows a Windows 10 Toast Notification when you unlock any Steam Achievement! It uses the Steam Web API to track achievement stats in real time, and displays an achievement summary within the notification.

Home Page: https://github.com/SteamAchievementNotifier/SteamAchievementNotifier

PowerShell 100.00%

steamachievementnotifier's Introduction

Steam Achievement Notifier

Steam Achievement Notifier is a Powershell application that shows a Windows 10 Toast Notification when you unlock any Steam Achievement!

Inspired by Xbox Achievement notifications for Game Pass for PC, it uses the Steam Web API to track achievement stats in real time, and displays an achievement summary within the notification.

Version 1.4 now adds a GUI to the application! Check out the releases page to see all improvements and updates!

This script uses BurntToast by Windos to display Windows 10 notifications. The setup file includes an automatic installer for the BurntToast module via Powershell Gallery.

SETUP:

  1. Download "SANGUI.zip" from the releases page.
  • Also ensure to "Unblock" the ZIP file before extracting, or the .ps1 scripts may not be allowed to run on your system - Right-click "SANGUI.zip" > Properties > Tick Unblock checkbox > Click Apply.
  1. Unzip the folder (Right-click > Extract All... > Extract).
  2. Double-click "setup.exe" and click the INSTALL button - this will uninstall previous versions of Steam Achievement Notifier and install the new required files (including the latest version of BurntToast). Note: This will also remove your previous "apikey.txt" and "steam64id.txt" files!
  3. When the CLOSE button appears, click it to close the installer and open the GUI.
  4. When the GUI opens, click the CHECK STEAM CREDENTIALS button and enter your API Key/Steam64 ID and click the "Save" button. After valid credentials have been saved, your username will be updated and the app is ready to use!

USAGE:

After setup has completed, the GUI will launch. You can create a Desktop shortcut for "Steam Achievement Notifier" by going to the Settings cog (โš™) and clicking "Create Desktop Shortcut". Double-click this icon to run Steam Achievement Notifier (otherwise, run "setup.exe" again to launch).

If Steam is not currently running, Steam Achievement Notifier will open it.

Once a game is running, Steam Achievement Notifier will display a notification saying:

Now tracking achievements for <Current Game>.

Once an achievement is unlocked, a Toast Notification will display containing the game name and details of the unlocked achievement!

๐Ÿ† Happy Achievement Hunting! ๐Ÿ†

TROUBLESHOOTING:

When the "Steam Achievement Notifier" desktop icon is clicked, it opens in Notepad/another application.

If the shortcut opens a Notepad or other application window after double-clicking, ensure your PC is set to open .ps1 files in Powershell by default. You can do this by right-clicking the Desktop shortcut, selecting "Open file location", right-click "SteamAchievementNotifier.ps1" (or any ".ps1" file), select "Properties" and click "Change". Click "More apps" > "Look for another app on this PC" > "This PC" and go to the following folder: C:\Windows\system32\WindowsPowershell\v1.0\. Select powershell.exe and click "Open". then click "Apply" to set the default app to Powershell.

Errors when running "SteamAchievementNotifier-SETUP.ps1"

Check your PC's Execution-Policy

If your PC's Execution Policy is set to anything other than "Bypass" (e.g. "Restricted"), the script may not be allowed to run by your system.

  • You can temporarily set your Execution Policy to bypass to run the "SteamAchievementNotifier-SETUP.ps1" script by typing: Set-ExecutionPolicy bypass
  • After setting to bypass, run "SteamAchievementNotifier-SETUP.ps1" as Administrator in Powershell (Search "Powershell" > Right-Click > Run as Administrator > Type or paste: C:\Users\$env:username\Downloads\SteamAchievementNotifier\SteamAchievementNotifier-SETUP.ps1 > Press Enter).
  • Once completed, you can set the Execution Policy back to it's original value by typing: Set-ExecutionPolicy youroriginalvalue (e.g. Set-ExecutionPolicy restricted)

Please note: As shown by the source code, there is no malicious code included in any of the Powershell scripts or EXE files included with Steam Achievement Notifier. Powershell usually does not allow running scripts downloaded from external sources for security reasons, and as such, may need the Execution Policy of your PC to be bypassed to allow the script to run successfully.

Ensure "SteamAchievementNotifier-SETUP.ps1" is running as Administrator

The BurntToast module cannot be installed without administrator rights. If you continue to receive an error when installing via the script, run Powershell as Administrator in new Powershell instance, and type: Install-Module -Name BurntToast

Check your Steam API Key/Steam64ID

If these are set incorrectly, the script will not be able to contact the Steam Web API, which will display an error. If you are still having issues after updating your API Key/Steam64ID, go to C:\Users\%username%\AppData\Local\SteamAchievementNotifier\Store in File Explorer and delete "apikey.txt" and "steam64id.txt". Once deleted, click the CHECK STEAM CREDENTIALS button and re-enter your credentials.

Steam username is wrong when finishing setup

Ensure your Steam64ID is correct. Users can have similar names on Steam, so if you are unsure whether a profile is yours when using https://steamid.io/, click the profile link on the steamid.io page, or copy your Steam Community profile URL and paste into the steamid.io search box.

Cannot select custom sound in GUI

Custom audio for notifications only supports .WAV files. If you have a custom sound you would like to use for the notification that is not in .WAV format, there are plenty of reputable MP3 to WAV converters online. An easy method for converting any audio file to .WAV is to use https://mp3cut.net/ to open your file, click the "MP3" drop-down in the bottom-right corner and change to "WAV". Then click "Save" to download the .WAV version. You can then view and select your sound from the sound browser.

Notification does not appear on screen when unlocking an achievement

Some games do not allow Windows notifications to overlay above them if they are in "Fullscreen" mode. If you hear the achievement notification sound but don't see it, run the game in "Fullscreen Borderless" mode, which should allow notifications to appear.

If you can't see any achievement and do not hear any achievement sounds when unlocking, check your Windows "Focus Assist" settings and ensure that notifications are allowed when running games.

Version 1.4 - Antivirus blocks "setup.exe"/"SANGUI.exe" due to malware/malicious content

This is explained further in the Version 1.4 release notes, but to briefly summarise: I have used a tool called PowershellToEXE to convert the original .ps1 files to EXE format. Unfortunately, due to some people creating malware/malicious scripts by using tools like these, a lot of Antivirus vendors automatically and incorrectly flag ANY files converted using various .ps1 to EXE converters (such as PowershellToEXE/PS2EXE etc.) as malicious content.

I can assure you that I have not included any malicious scripts or executables in the available downloads, but if you're still wary, I have included an alternate version of the GUI application called "SANGUI-PS1.zip" which uses Powershell .ps1 scripts in place of the EXEs. If you wish to install this version instead, please see the installation notes on the releases page linked above.

KNOWN ISSUES:

  • Powershell asks for permission to run script at every update - Right-click "Steam Achievement Notifier" shortcut on the Desktop and select "Open File Location". Right-Click "SteamAchievementNotifier.ps1" > "Properties" > Tick the "Unblock" checkbox and click "Apply".
  • BurntToast Notification removes the achievement description if the game name/achievement title is too long. I will be looking into a way to shorten the achievement name if it contains more than a certain amount of characters which would fix this issue. Note: This also happens when the Steam achievement is "Hidden"/"Secret" - this is a limitation of the Steam Web API as "Hidden"/"Secret" achievement descriptions are updated after unlocking.
  • BurntToast Notification displays "Windows Powershell" as the AppID - this cannot easily be fixed due to a recent change in Windows 10 Notifications, but this will be updated as soon as possible.

THANKS:

Thank you for checking out this project. This is the first Powershell application I've ever created and I would love your feedback. As I'm still pretty much a novice, I'm sure there are issues in the code that would be more efficient or could be done in a better way. If you're interested in this project or if you are a programmer or application developer, I would love to hear from you if you have suggestions on how to make this even better!

Special Thanks:

  • Adam C. for ongoing support and guidance.
  • Windos for creating BurntToast Notifications.
  • Steam for allowing me to use their extensive Web API for this project.

steamachievementnotifier's People

Contributors

steamachievementnotifier avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.