Skip to content

uploadGJComment21.php ​

Uploads a comment to a user level.

Parameters ​

ParameterExplanation
accountID *The player's account ID (not to be confused with user ID). Used for authorization
gjp2 *The player's account password, encoded with GJP2. Used for authorization
userName *The commenter's username
comment *The comment, converted to URL-safe base64
secret *Common Secret: Wmfd2893gb7
levelID *The ID of the level to comment on. If commenting on a list, the ID should be negative
chk *Comments CHK
percent cThe level percentage shown on the comment as an integer
Sent when: non-zero
gameVersion aA number representing the game's version. The current value is 22 for 2.2
binaryVersion aA number representing the game's small version. The current value is 51 for 2.209 on PC and mobile
udid aThe player's UDID (Unique Device Identifier). Used to identify unregistered users
uuid aThe player's user ID. See the previous format here
dvs aA 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