Skip to content

uploadGJComment21.php

Uploads a comment to a user level.

Parameters

ParameterExplanationRequired
accountIDThe player's account ID (not to be confused with user ID). Used for authorizationYes
gjp2The player's account password, encoded with GJP2. Used for authorizationYes
userNameThe commenter's usernameYes
commentThe comment, converted to URL-safe base64Yes
secretCommon Secret: Wmfd2893gb7Yes
levelIDThe ID of the level to comment on. If commenting on a list, the ID should be negativeYes
chkComments CHKYes
percentThe level percentage shown on the comment as an integer. Only sent if percentage is not 0
gameVersionA number representing the game's version. The current value is 22 for 2.2
binaryVersionA number representing the game's small version. The current value is 47 for 2.2081 on PC and 48 for 2.2082 on mobile
udidThe player's UDID (Unique Device Identifier). Used to identify unregistered users
uuidThe player's user ID. See the previous format here
dvsA number representing the OS platform the player is using. Corresponds to the Cocos2d CC_TARGET_PLATFORM macro: 1 for iOS, 2 for Android, 3 for Windows, 8 for macOS

Response

Returns the ID of the posted comment if successful. Otherwise the following errors can be returned:

  • -1 if the request was rejected
  • -10 if the user is permanently comment banned (directly by RobTop, prior to 2.11). This displays a message to contact support with the player's user ID.
  • temp_{time}_{reason} if the user/IP is temporarily comment banned (by an Elder Moderator/RobTop), with time representing the number of seconds left until the user is unbanned. The servers cap the time at 34 days and 22 hours (3020399 seconds) even if the ban is longer. If no ban reason was provided, the reason value and its separator are omitted (temp_{time})

Example

Python

py
import requests

# With this code, DevExit is posting the comment "Hello from the GDDocs!" to 62687277

chk = generate_chk(key="29481", values=["devexit", "SGVsbG8gZnJvbSB0aGUgR0REb2NzIQ==", 62687277, 69, 0], salt="xPT6iUrtws0J")
# These values can be found in the XOR and CHK pages

data = {
    "accountID": 173831, # DevExit's account ID
    "gjp2": "********", # This would be DevExit's password encoded with GJP2 encryption
    "userName": "devexit",
    "comment": "SGVsbG8gZnJvbSB0aGUgR0REb2NzIQ==", # "Hello from the GDDocs!"
    "levelID": 62687277,
    "percent": 69,
    "chk": chk,
    "secret": "Wmfd2893gb7"
}

req = requests.post("https://www.boomlings.com/database/uploadGJComment21.php", data=data)
print(req.text)

Response

py
31444784