diff --git a/RobloxCurlOnline.sh b/RobloxCurlOnline.sh new file mode 100644 index 0000000..eaa37f8 --- /dev/null +++ b/RobloxCurlOnline.sh @@ -0,0 +1,35 @@ +#!/bin/bash + +# Script that will curl the Roblox API to get all online and in game friends + +TARGETUSERID="???" # Me + +CHECKONLINEFRIENDS="??? ??? ???" # The friends to check if online + +ROBLOSECURITYCOOKIE="" # Roblox Security Cookie + +notify-send -t 3000 -a "Roblox Curl" "Checking..." "Now checking online users!" + +APIREQUEST=$(curl -X 'GET' \ + "https://friends.roblox.com/v1/users/$TARGETUSERID/friends/online" \ + -H 'accept: application/json' \ + -H "Cookie: .ROBLOSECURITY=$ROBLOSECURITYCOOKIE") + +if [[ $APIREQUEST == *"Unauthorized"* ]]; then + notify-send -u critical -a "Roblox Curl" "Failure!" "Request Unauthorized! Please check if security cookie is still valid!" + exit 1 +fi + +if [[ $APIREQUEST == *"Too many requests"* ]]; then + notify-send -u critical -a "Roblox Curl" "Failure!" "Too many requests! Please check if security cookie is still valid!" + exit 1 +fi + +APICOUNT=$(($(echo $APIREQUEST | jq -r '.data | length') - 1)) +for friend in $CHECKONLINEFRIENDS; do + for i in $(seq 0 $APICOUNT); do + if [[ $(echo $APIREQUEST | jq -r .data[$i].name) == $friend ]] && [[ $(echo $APIREQUEST | jq -r .data[$i].userPresence.UserPresenceType) == "InGame" ]]; then + notify-send -t 0 -a "Roblox Curl" "$(echo $APIREQUEST | jq -r .data[$i].displayName) ($friend)" "User is playing $(echo $APIREQUEST | jq -r .data[$i].userPresence.lastLocation)!" + fi + done +done \ No newline at end of file