Skip to content

Server Thread Resource ​

Thread ​

Threads are a feature in Geometry Dash that replaces the legacy message system from 2.0.

Unlike most other server objects, threads do not have a typical key:value:key:value pair. Instead, they are a fixed list of values separated by colons :, without any keys.

Thread Example Response ​

md
49028:0::OmV5ZXM6:0:26068292:8 minutes:3::26068292:0:0:0:0:0:0:0:0:0:0:0:dGVzdHR0dHQ=:globe:1792167374:0:0

A list of all known values can be found in the table below.

Values indicated with an asterisk (*) are only returned for DM threads, and are empty or 0 for group threads.

Values indicated with a dagger (†) are only returned for group threads, and are empty or 0 for DM threads.

Thread Structure ​

IndexName/ValueTypeDescription
1threadIDIntegerThe thread ID
2accountIDIntegerThe account ID of the user on the other end of the thread
3username*StringThe username of the user on the other end of the thread encoded in Base64
4title†StringThe title of the group thread encoded in Base64
5newMessagesIntegerThe amount of new messages in the thread
6lastSenderIDStringThe account ID of the person who sent the last message
7lastMessageStringHow long ago the last message in the thread was sent (e.g. "13 hours")
8membersIntegerThe amount of members in the thread
9lastSenderUsernameStringThe username of the person who sent the last message encoded in Base64
10ownerIDIntegerThe account ID of the user who owns this thread
11mutedBoolWhether you have muted the thread or not
12unknownIntegerSeems to always be 0
13threadTypeBool0 if this is a group thread and 1 if it's a DM thread
14unknownIntegerSeems to always be 0
15pinnedBoolWhether you have pinned the thread or not
16icon*IntegerThe icon ID of the user on the other end of the thread
17color1*IntegerThe primary color of the user on the other end of the thread
18color2*IntegerThe secondary color of the user on the other end of the thread
19color3*IntegerThe glow color of the user on the other end of the thread
20iconType*IntegerThe icon type of the user on the other end of the thread
21special*IntegerWhether this person has glow enabled
22description†StringThe description of this group thread encoded in Base64
23emoteIcon†StringThe emote icon used for this group thread
24lastMessageTimestampIntegerThe UNIX timestamp of the last message
25modBadgeLevel?*IntegerPresumably the mod badge of the user on the other end of the thread
26statusIntegerThread status. 0 - default, 2 - pending, 4 - this user only accepts messages from friends, 5 - this user does not accept messages, 7 - one of the users has the other one blocked, 8 - removed (kicked from group thread)

Thread Invite Object ​

In the getGJThreadMessages.php endpoint, a different set of values is returned. They are as follows:

IndexName/ValueTypeDescription
1threadIDIntegerThe thread ID
2accountIDIntegerThe account ID of the user who invited you
3usernameStringThe username of the user who invited you encoded in Base64
4titleStringThe title of the group thread encoded in Base64
5membersIntegerAmount of members in the thread
6inviteAgeStringHow long ago you were invited (e.g. "1 hour")
7lastMessageStringHow long ago the last message in the thread was sent (e.g. "13 hours")
8messageStringThe pending DM invite message
9descriptionStringThe description of the thread encoded in Base64
10threadTypeBool0 - group thread, 1 - DM thread
11ignoredInviteBoolWhether you have ignored this invite
12iconIntegerThe icon ID of the user who invited you
13color1IntegerThe primary color of the user who invited you
14color2IntegerThe secondary color of the user who invited you
15color3IntegerThe glow color of the user who invited you
16iconTypeIntegerThe icon type of the user who invited you
17specialIntegerThe special value of the user who invited you
18emoteIconStringThe emote icon used for this group thread
19inviteTimestampIntegerThe UNIX timestamp of when you were invited

Thread Metadata ​

In the getGJThreadMessages.php endpoint, a more limited set of values is returned as one of the segments. They are as follows:

IndexName/ValueTypeDescription
1threadIDIntegerThe thread ID
2unknownIntegerSeems to always be 0
3memberCountIntegerThe amount of members in the group
4descriptionStringThe description of this group thread encoded in Base64
5mvIntegerThe value used in the mv key which is sent when refreshing the messages. What it does is currently unknown
6showLoadEarlierBoolWhether Show Earlier button should be shown prematurely
7unknownIntegerSeems to always be 0
8unknownIntegerSeems to always be 0
9titleStringThe title of the group thread encoded in Base64
10lockedBoolWhether the thread is locked or not
11unknownBoolSeems to always be 0

{threadID}:0:{memberCount}:{description}:{mv}:{shwoL