Roblox-Curl-Online/RobloxCurlOnline.sh

35 lines
1.4 KiB
Bash

#!/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