Group

This page has methods that include things like making group shouts & ranking users. The page below introduces you to "promises" which is what is used to handle success and errors with the API.

shout

This method requires authorization.

This method allows you to shout in a group (if you have permissions).

Sample code: (sent from my own group)

client.group:shout(12551284,"hello world"):andThen(function(response)
    print(response)
end):catch(warn)

Arguments:

Returns: <array>

{
    ["body"] = "hello world (sent from an API:tm:)",
    ["created"] = "2021-10-10T17:27:41.233Z",
    ["poster"] = {
        ["buildersClubMembershipType"] = "None",
        ["displayName"] = "imAnExampleDeveloper",
        ["userId"] = 2969571965,
        ["username"] = "imAnExampleDeveloper"
    },
    ["updated"] = "2021-10-11T21:31:25.8120424Z"
}

rank

This method requires authorization.

This method allows you to rank a specified user in a group to a specified rank (it has to exist and they cannot already be that rank or it will error)

Sample code:

local player = game:GetService("Players").imAvizandum;
client.group:rank(player,12551284,52):andThen(function(response)
    print(response)
end):catch(warn)

Arguments:

Returns:

<array> (none of the information in this is valid, it's just a blank array)

getAuditLogs

This method requires authorization.

This method gets group audit logs in a page format. More about pages below if you haven't used them:

Sample code:

client.group:getAuditLogs(12551284):andThen(function(r)
    print(r:getCurrentPage())
end):catch(warn)

Arguments:

Returns:

<page object>

getGroupWall

This method does not natively require authentication, but some groups have their wall hidden so I'm going to enforce it.

This method provides you with the group's wall and posts. It also uses a page format. More about pages below if you haven't used them:

Sample code:

client.group:getGroupWall(1):andThen(function(wall)
-- do stuff here
end):catch(warn)

Arguments:

Returns:

<page object>

exile

This method requires authorization.

This method exiles (kicks out) the specified user from a group.

Sample code:

-- You can input an actual player or a userId for some methods
client.group:exile(game.Players.Roblox,123456):andThen(function(response)
    -- pretty sure the response is always empty
end):catch(warn)

Arguments:

Returns: {}

updateDescription

This method requires authorization and ownership of the specified group.

This method updates the specified group's description. It requires the authorized account to be the group's owner.

Sample code:

client.group:updateDescription(1,"The first roblox group!"):andThen(function(response)
--> wow
end):catch(warn);

Arguments:

Returns: <array>

{
    newDescription = ...
}

deleteWallPost

This method requires authentication

Sample code:

-- The post variable here is grabbed from a random post fetched in "getGroupWall"
-- You can directly provide a post from that array or just provide it's ID

client.group:deleteWallPost(12551284,post):andThen(function(resp)
    print(resp)
end):catch(warn)

Arguments:

Returns: {}

deleteWallPostsByUser

This method requires authentication.

This method deletes all of the posts on the wall by a specified user.

Sample code:

client.group:deleteWallPostsByUser(12551284,123456):andThen(function(resp)
    print(resp)
end):catch(warn)

Arguments:

Returns: {}

getJoinRequests

This method requires authentication.

This method provides you with the group's join requests. It also uses a page format. More about pages below if you haven't used them:

Sample code:

client.group:getJoinRequests(12551284):andThen(function(requests)
-- cool things here
end):catch(warn)

Arguments:

Returns <page object>

acceptJoinRequests

This method requires authentication.

This method allows you to bulk accept up to hundreds of join requests at the same time. You can also just accept a single request.

Sample code:

client.group:acceptJoinRequests(12551284,87424828):andThen(function(response)
    --> {}
end):catch(warn)

After the group ID, you can have however many user IDs you want, the example I provided only has one.

Arguments:

Returns: {}

declineJoinRequests

This method requires authentication.

This method allows you to bulk decline up to hundreds of join requests at the same time. You can also just decline a single request.

Sample code:

client.group:declineJoinRequests(12551284,87424828):andThen(function(response)
    --> {}
end):catch(warn)

After the group ID, you can have however many user IDs you want, the example I provided only has one.

Arguments:

Returns: {}

getGroupInformation

This method does not require authentication.

This method provides group information for the specified ID such as; if public joining is allowed, shout info, description, name, owner, etc.

Sample code:

client.group:getGroupInformation(12345678):andThen(function(information)
    print(information)
end):catch(warn)

Arguments:

Returns: <array>

getUsers

This method does not require authentication.

This method provides all the users in a group (in 100 increments as pages), it also uses pages to navigate the web API. If you don't know how to use them, here's information on them:

Sample code:

client.group:getUsers(1):andThen(function(pages)
-- do stuff lol
end):catch(warn)

Arguments:

Returns: <pages>

createRank

This method requires authentication. It also costs 25 robux (if there is any)

This method creates a group rank in the specified group, be warned that it costs robux still. You also require ownership of said group with the cookie.

Sample code:

client.group:createRank(9231886,{
   name = "hi",
   description = "a role",
   rank = 100,
   useGroupFunds = false
}):andThen(print):catch(warn);

Arguments:

Returns: array (description <string>, id <integer>, name <string>, rank <integer>

modifyRankPermissions

This method requires authentication & ownership of the group.

This method modifies the specified rank's permissions and here's a list of permissions. (all of them are booleans)

  • DeleteFromWall

  • PostToWall

  • InviteMembers

  • PostToStatus

  • RemoveMembers

  • ViewStatus

  • ViewWall

  • ChangeRank

  • AdvertiseGroup

  • ManageRelationships

  • AddGroupPlaces

  • ViewAuditLogs

  • CreateItems

  • ManageItems

  • SpendGroupFunds

  • ManageClan

  • ManageGroupGames

Sample code: (you can update more than one at a time, I'm just keeping it simple in samples)

client.group:modifyRankPermissions(9231886,100,{
    ["ViewAuditLogs"] = true
}):andThen(function(response)
--> {}
end):catch(warn)

Arguments:

Returns: {}

getRoleInformation

This method does not require authentication.

This method gets information for a role like the roleset ID, rank, group, etc. I don't know why you need this but ok.

Sample code:

client.group:getRoleInformation(1,255):andThen(print):catch(warn)

Arguments:

Returns: <array> example:

{
    ["groupId"] = 1,
    ["id"] = 28,
    ["name"] = "TREX",
    ["rank"] = 255,
}

Last updated