openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
1,214 lines • 645 kB
TypeScript
import type { Identifier, ArrayNonEmptyIfConst } from "typeforge";
import type { FormattedAllGroupRolesForUserData_V1, GroupAuditLogActionType, GroupRelationshipType, GroupRolePermissions, GroupSettingsData, PrettifiedAuthenticatedUserPendingGroupsData, PrettifiedGroupAuditLogsData, PrettifiedGroupIdsToGroupsInfoData, PrettifiedGroupJoinRequests, PrettifiedGroupMembersData, PrettifiedGroupMembersWithRoleData, PrettifiedGroupNameHistoryData, PrettifiedGroupPayoutsInfoData, PrettifiedGroupPolicyInfoData, PrettifiedGroupRolesFromIdsData, RawAuthenticatedUserPendingGroupsData, RawGroupIdsToGroupsInfoData, RawGroupNameHistoryData, RawGroupPolicyInfoData, RawGroupRolesFromIdsData, UpdateRoleSetRequest } from "./groups.types";
import type { SortOrder } from "../../../utils/utils.types";
/**
* Gets the featured event for a group.
* @endpoint GET /v1/featured-content/event
*
* @param groupId The ID of the group to get the event for.
*
* @example const { data:eventId } = await ClassicGroupsApi.featuredEvent({ groupId: 15842838 })
* @exampleData "6533473338141704368"
* @exampleRawBody {"groupId":15842838,"contentType":"event","contentId":"6533473338141704368"}
*/
export declare const featuredEvent: <GroupId extends Identifier>(this: any, args: {
groupId: GroupId;
}) => Promise<{
data: Identifier | null;
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: {
groupId: GroupId;
contentType: "event";
contentId: Identifier;
} | null;
};
} & {
again: () => Promise<{
data: Identifier | null;
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: {
groupId: GroupId;
contentType: "event";
contentId: Identifier;
} | null;
};
}>;
}>;
/**
* Sets a featured event for a group.
* @endpoint POST /v1/featured-content/event
*
* @param groupId The ID of the group to set the event for.
* @param eventId The ID of the event to set.
*
* @example const { data:eventId } = await ClassicGroupsApi.setFeaturedEvent({ groupId: 15842838, eventId: "5904751593700196492" })
* @exampleData 5904751593700196492
* @exampleRawBody {"groupId":15842838,"contentType":"event","contentId":"6533473338141704368"}
*/
export declare const setFeaturedEvent: <GroupId extends Identifier, EventId extends Identifier>(this: any, args: {
groupId: Identifier;
eventId: EventId;
}) => Promise<{
data: Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_FORMATTED_DATA"], undefined>;
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: import("typeforge").Prettify<Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_RAW_DATA"], undefined>, Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_RAW_DATA"], undefined> extends infer T ? T extends Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_RAW_DATA"], undefined> ? T extends Date ? true : false : never : never>;
};
} & {
again: () => Promise<{
data: Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_FORMATTED_DATA"], undefined>;
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: import("typeforge").Prettify<Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_RAW_DATA"], undefined>, Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_RAW_DATA"], undefined> extends infer T_1 ? T_1 extends Exclude<({
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => string) | undefined;
getCursorsFn?: ((rawData: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
}) => [previous: import("../../apiGroup/apiGroup.types").Cursor, next: import("../../apiGroup/apiGroup.types").Cursor]) | undefined;
"\uD83D\uDD12__PRIVATE_RAW_DATA"?: {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} | undefined;
"\uD83D\uDD12__PRIVATE_FORMATTED_DATA"?: (EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : import("typeforge").Prettify<EventId, EventId extends Date ? true : false>) | undefined;
} & (EventId extends undefined ? {} : import("../../apiGroup/apiGroup.types").ApiMethodDataFormatRawData<{
groupId: GroupId;
contentType: "event";
contentId: EventId;
}, EventId extends undefined ? {
groupId: GroupId;
contentType: "event";
contentId: EventId;
} : EventId>))["🔒__PRIVATE_RAW_DATA"], undefined> ? T_1 extends Date ? true : false : never : never>;
};
}>;
}>;
/**
* Removes a featured event for a group.
* @endpoint POST /v1/featured-content/event
*
* @param groupId The ID of the group to remove the event from.
* @param eventId The ID of the event to remove.
*
* @example const { data:success } = await ClassicGroupsApi.removeFeaturedEvent({ groupId: 15842838, eventId: "5904751593700196492" })
* @exampleData true
* @exampleRawBody ""
*/
export declare const removeFeaturedEvent: <GroupId extends Identifier, EventId extends Identifier>(this: any, args: {
groupId: Identifier;
eventId: EventId;
}) => Promise<{
data: boolean;
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: "";
};
} & {
again: () => Promise<{
data: boolean;
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: "";
};
}>;
}>;
/**
* Gets information about a group.
* @category Groups
* @endpoint GET /v1/groups/{groupId}
* @tags [ "?Cookie" ]
*
* @param groupId The id of the group.
*
* @example const { data:groupInfo } = await ClassicGroupsApi.groupInfo({ groupId: 5850082})
* @exampleData { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
* @exampleRawBody { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
*/
export declare const groupInfo: <GroupId extends Identifier>(this: any, args: {
groupId: GroupId;
}) => Promise<{
data: {
id: GroupId;
name: string;
description: string;
hasVerifiedBadge: boolean;
owner: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
memberCount: number;
isBuildersClubOnly: boolean;
publicEntryAllowed: boolean;
shout?: {
body: string;
poster: {
hasVerifiedBadge: boolean;
userId: string;
username: string;
displayName: string;
};
created: Date;
updated: Date;
} | undefined;
};
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: {
id: GroupId;
name: string;
description: string;
owner: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
shout?: {
body: string;
poster: {
hasVerifiedBadge: boolean;
userId: string;
username: string;
displayName: string;
};
created: string;
updated: string;
} | undefined;
memberCount: number;
isBuildersClubOnly: boolean;
publicEntryAllowed: boolean;
hasVerifiedBadge: boolean;
};
};
} & {
again: () => Promise<{
data: {
id: GroupId;
name: string;
description: string;
hasVerifiedBadge: boolean;
owner: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
memberCount: number;
isBuildersClubOnly: boolean;
publicEntryAllowed: boolean;
shout?: {
body: string;
poster: {
hasVerifiedBadge: boolean;
userId: string;
username: string;
displayName: string;
};
created: Date;
updated: Date;
} | undefined;
};
response: {
fullResponse: unknown;
url: `https://${string}`;
method: import("../../../utils/utils.types").RestMethod;
success: boolean;
statusCode: number;
headers: Headers;
body: {
id: GroupId;
name: string;
description: string;
owner: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
shout?: {
body: string;
poster: {
hasVerifiedBadge: boolean;
userId: string;
username: string;
displayName: string;
};
created: string;
updated: string;
} | undefined;
memberCount: number;
isBuildersClubOnly: boolean;
publicEntryAllowed: boolean;
hasVerifiedBadge: boolean;
};
};
}>;
}>;
/**
* Gets audit log entries for a group.
* @category Groups
* @endpoint GET /v1/groups/{groupId}/audit-log
* @tags [ "Cookie" ]
*
* @param groupId The id of the group.
* @param actionType The action to filter the audit logs by. (no filter will be applied if actionType is undefined).
* @param userId Filter for specific user by their id.
* @param limit The number of results to be returned.
* @param sortOrder The order that the results are sorted in.
* @param cursor The paging cursor for the previous or next page.
*
* @example const { data:auditLog } = await ClassicGroupsApi.groupAuditLogs({ groupId: 5850082 })
* @exampleData { previousPageCursor: null, nextPageCursor: null, data: [ { actor: { user: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, role: { id: 38353811, name: "NamelessGuy2005 - Scriptor", rank: 255 } }, actionType: "Accept Ally Request", description: { TargetGroupId: 6333562, TargetGroupName: "Mine Ways Talk Show" }, created: "2020-05-18T12:06:34Z" }, { actor: { user: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, role: { id: 38353811, name: "NamelessGuy2005 - Scriptor", rank: 255 } }, actionType: "Accept Ally Request", description: { TargetGroupId: 5257567, TargetGroupName: "The X1 Team" }, created: "2020-05-13T13:52:57Z" }, { actor: { user: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, role: { id: 38353811, name: "NamelessGuy2005 - Scriptor", rank: 255 } }, actionType: "Accept Ally Request", description: { TargetGroupId: 5894486, TargetGroupName: "Sky-Blox Studio" }, created: "2020-05-13T13:52:56Z" } ] }
* @exampleRawBody [ { actor: { user: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, role: { id: 38353811, name: "NamelessGuy2005 - Scriptor", rank: 255 } }, actionType: "AcceptAllyRequest", description: { targetGroupId: 6333562, targetGroupName: "Mine Ways Talk Show" }, created: "2020-05-18T12:06:34Z" }, { actor: { user: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, role: { id: 38353811, name: "NamelessGuy2005 - Scriptor", rank: 255 } }, actionType: "AcceptAllyRequest", description: { targetGroupId: 5257567, targetGroupName: "The X1 Team" }, created: "2020-05-13T13:52:57Z" }, { actor: { user: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, role: { id: 38353811, name: "NamelessGuy2005 - Scriptor", rank: 255 } }, actionType: "AcceptAllyRequest", description: { targetGroupId: 5894486, targetGroupName: "Sky-Blox Studio" }, created: "2020-05-13T13:52:56Z" } ]
*/
export declare const groupAuditLogs: import("../../apiGroup/apiGroup.types").CallApiMethod<{
groupId: Identifier;
actionType?: GroupAuditLogActionType | undefined;
userId?: Identifier | undefined;
limit?: 10 | 25 | 50 | 100 | undefined;
sortOrder?: SortOrder | undefined;
cursor?: string | undefined;
}, {
method: import("../../../utils/utils.types").RestMethod;
path: `/${string}`;
name: string;
searchParams?: string | Record<string, any> | undefined;
headers?: Record<string, any> | undefined;
body?: string | number | Record<string, any> | undefined;
formData?: FormData | undefined;
applyFieldMask?: boolean | undefined;
pathToPoll?: ((rawData: {
previousPageCursor?: string | undefined;
nextPageCursor?: string | undefined;
data: ({
actionType: "Delete Post";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
/**
* Gets the featured event for a group.
* @endpoint GET /v1/featured-content/event
*
* @param groupId The ID of the group to get the event for.
*
* @example const { data:eventId } = await ClassicGroupsApi.featuredEvent({ groupId: 15842838 })
* @exampleData "6533473338141704368"
* @exampleRawBody {"groupId":15842838,"contentType":"event","contentId":"6533473338141704368"}
*/
PostDec: string;
/**
* Gets the featured event for a group.
* @endpoint GET /v1/featured-content/event
*
* @param groupId The ID of the group to get the event for.
*
* @example const { data:eventId } = await ClassicGroupsApi.featuredEvent({ groupId: 15842838 })
* @exampleData "6533473338141704368"
* @exampleRawBody {"groupId":15842838,"contentType":"event","contentId":"6533473338141704368"}
*/
TargetId: number;
TargetName: string;
};
created: string;
} | {
actionType: "Remove Member" | "Accept Join Request" | "Decline Join Request";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
TargetId: number;
TargetName: string;
};
created: string;
} | {
actionType: "Post Status";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
Text: string;
};
created: string;
} | {
actionType: "Change Rank";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
TargetId: number;
NewRoleSetId: number;
OldRoleSetId: number;
TargetName: string;
NewRoleSetName: string;
OldRoleSetName: string;
};
created: string;
} | {
actionType: "Buy Ad";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
AdName: string;
Bid: number;
CurrencyTypeId: number;
CurrencyTypeName: string;
};
created: string;
} | {
actionType: "Send Ally Request" | "Create Enemy" | "Accept Ally Request" | "Decline Ally Request" | "Delete Ally" | "Delete Enemy";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
TargetGroupId: number;
TargetGroupName: string;
};
created: string;
} | {
actionType: "Create Items" | "Create Group Developer Product";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
AssetId: number;
AssetName: string;
};
created: string;
} | {
actionType: "Spend Group Funds";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
Amount: number;
CurrencyTypeId: number;
ItemDescription: string;
CurrencyTypeName: string;
};
created: string;
} | {
actionType: "Change Owner";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
IsRoblox: boolean;
NewOwnerId: number;
NewOwnerName: string;
OldOwnerId: number;
OldOwnerName: string;
};
created: string;
} | {
actionType: "Abandon";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {};
created: string;
} | {
actionType: "Claim";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {};
created: string;
} | {
actionType: "Rename";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
NewName: string;
};
created: string;
} | {
actionType: "Change Description";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
NewDescription: string;
};
created: string;
} | {
actionType: "Add Group Place" | "Remove Group Place" | "Configure Items" | "Delete" | "Adjust Currency Amounts" | "Invite To Clan" | "Kick From Clan" | "Cancel Clan Invite" | "Buy Clan" | "Revert Group Asset" | "Create Group Developer Subscription Product" | "Lock" | "Unlock" | "Configure Badge" | "Publish Place";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {};
created: string;
} | {
actionType: "Create Group Asset" | "Update Group Asset";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
/**
* Gets information about a group.
* @category Groups
* @endpoint GET /v1/groups/{groupId}
* @tags [ "?Cookie" ]
*
* @param groupId The id of the group.
*
* @example const { data:groupInfo } = await ClassicGroupsApi.groupInfo({ groupId: 5850082})
* @exampleData { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
* @exampleRawBody { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
*/
AssetId: number;
/**
* Gets information about a group.
* @category Groups
* @endpoint GET /v1/groups/{groupId}
* @tags [ "?Cookie" ]
*
* @param groupId The id of the group.
*
* @example const { data:groupInfo } = await ClassicGroupsApi.groupInfo({ groupId: 5850082})
* @exampleData { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
* @exampleRawBody { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
*/
AssetName: string;
/**
* Gets information about a group.
* @category Groups
* @endpoint GET /v1/groups/{groupId}
* @tags [ "?Cookie" ]
*
* @param groupId The id of the group.
*
* @example const { data:groupInfo } = await ClassicGroupsApi.groupInfo({ groupId: 5850082})
* @exampleData { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
* @exampleRawBody { id: 5850082, name: "MightyPart Games", description: "Lorem ipsum dolor sit amet consectetur adipiscing elit.", owner: { hasVerifiedBadge: false, userId: 45348281, username: "MightyPart", displayName: "MightyPart" }, shout: null, memberCount: 102, isBuildersClubOnly: false, publicEntryAllowed: true, hasVerifiedBadge: false }
*/
VersionNumber: number;
RevertVersionNumber: number | null;
};
created: string;
} | {
actionType: "Configure Group Asset";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
AssetId: number;
AssetName: string;
Actions: number[] | null;
};
created: string;
} | {
actionType: "Configure Group Game";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
Actions: number[];
Type: number;
TargetId: number;
TargetName: string;
UniverseId: number | null;
UniverseName: string;
};
created: string;
} | {
actionType: "Create Game Pass";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
GamePassId: number;
PlaceId: number;
GamePassName: string;
PlaceName: string;
};
created: string;
} | {
actionType: "Create Badge";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
BadgeId: number;
BadgeName: string;
Type: null;
};
created: string;
} | {
actionType: "Save Place";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
AssetId: number;
AssetName: string;
VersionNumber: number;
};
created: string;
} | {
actionType: "Update Roleset Rank";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
NewRank: number;
OldRank: number;
RoleSetId: number;
RoleSetName: string;
};
created: string;
} | {
actionType: "Update Roleset Data";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
NewDescription: string;
NewName: string;
OldDescription: string;
OldName: string;
RoleSetId: number;
RoleSetName: string;
};
created: string;
})[];
}) => string) | undefined;
getCursorsFn?: ((rawData: {
previousPageCursor?: string | undefined;
nextPageCursor?: string | undefined;
data: ({
actionType: "Delete Post";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
/**
* Gets the featured event for a group.
* @endpoint GET /v1/featured-content/event
*
* @param groupId The ID of the group to get the event for.
*
* @example const { data:eventId } = await ClassicGroupsApi.featuredEvent({ groupId: 15842838 })
* @exampleData "6533473338141704368"
* @exampleRawBody {"groupId":15842838,"contentType":"event","contentId":"6533473338141704368"}
*/
PostDec: string;
/**
* Gets the featured event for a group.
* @endpoint GET /v1/featured-content/event
*
* @param groupId The ID of the group to get the event for.
*
* @example const { data:eventId } = await ClassicGroupsApi.featuredEvent({ groupId: 15842838 })
* @exampleData "6533473338141704368"
* @exampleRawBody {"groupId":15842838,"contentType":"event","contentId":"6533473338141704368"}
*/
TargetId: number;
TargetName: string;
};
created: string;
} | {
actionType: "Remove Member" | "Accept Join Request" | "Decline Join Request";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
TargetId: number;
TargetName: string;
};
created: string;
} | {
actionType: "Post Status";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
Text: string;
};
created: string;
} | {
actionType: "Change Rank";
actor: {
user: {
hasVerifiedBadge: boolean;
userId: number;
username: string;
displayName: string;
};
role: {
id: number;
name: string;
rank: number;
};
};
description: {
TargetId: number;
NewRoleSetId: number;
OldRoleS