RobloxReviews

Steam Reviews for Roblox Games

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"}