Overview
RobloxReviews is a WebSocket-based API and Chrome extension for basically steam reviews for Roblox games.
It allows authenticated users to fetch and add reviews for specific games.
Download the extension
Endpoints
WebSocket
Host: wss://robloxreviews.nonamesoft.xyz/?
(the question mark is required)
Commands
Connect
Initial handshake command to establish the WebSocket connection.
Send: "Connect"
Receive: "ACK"
Send: "[ROBLOSECURITY token]"
Receive: "ACK"
Send: "[hash of https://users.roblox.com/v1/users/authenticated]"
Receive: "ACK"
Receive: "{"handshake": "full"}" if valid or "{"handshake": "RO"}" if unauthenticated.
GetReviewsForGame
Fetches the reviews for a specific game.
Send: {
"command": "GetReviewsForGame",
"args": [],
"offset":
}
Receive: [
{
"id": ,
"RobloxOwnerID": ,
"content": ,
"recommendsGame":
},
...
]
AddReviewsForGame
Adds a new review for a game.
Send: {
"command": "AddReviewsForGame",
"args": [, , ]
}
Receive: "Success" or "Unauthenticated"
Database Schema
The SQLite database uses the following schema for storing reviews:
Table: reviews
Columns:
- id (Integer, Primary Key)
- GameID (Integer, Not Null)
- RobloxOwnerID (Integer, Not Null)
- Recommends (Boolean, Not Null)
- content (String, Not Null)
Authentication
The API uses the .ROBLOSECURITY
token for authentication. The
verifyROBLOSECURITY
function checks if the provided token matches the expected hash.
Logging
All API actions are logged with the ReviewsLogger
.
Error Handling
Errors are communicated back to the client as JSON:
{"err": "Invalid command."}
{"err": "Internal server error"}