UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

1,214 lines 645 kB
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