UNPKG

openblox

Version:

Roblox API Wrapper For Both Classic And OpenCloud APIs.

406 lines (405 loc) 23.8 kB
import type { Identifier } from "typeforge"; import type { SendNotificationToUser_NotificationData } from "./users.types"; /** * Gets information about a user from their id. * @endpoint GET /v2/users/{userId} * * @param userId The id of the user to get detailed info about. * * @example const { data:userInfo } = await UsersApi.userInfo({ userId: 45348281 }); * @exampleData {"path":"users/45348281","createTime":"2013-07-13T07:50:00.083Z","id":"45348281","name":"MightyPart","displayName":"Mighty","about":"football nothing to is push sudden national","locale":"en_us","premium":true,"idVerified":true,"socialNetworkProfiles":{"visibility":"EVERYONE"}} * @exampleRawBody {"path":"users/45348281","createTime":"2013-07-13T07:50:00.083Z","id":"45348281","name":"MightyPart","displayName":"Mighty","about":"football nothing to is push sudden national","locale":"en_us","premium":true,"idVerified":true,"socialNetworkProfiles":{"facebook":"","twitter":"","youtube":"","twitch":"","guilded":"","visibility":"EVERYONE"}} */ export declare const userInfo: <UserId extends Identifier>(this: any, args: { userId: UserId; }) => Promise<{ data: { path: `users/${UserId}`; createTime: Date; id: UserId; name: string; displayName: string; about: string; locale: "sq_al" | "ar_001" | "bn_bd" | "nb_no" | "bs_ba" | "bg_bg" | "my_mm" | "zh_cn" | "zh_tw" | "hr_hr" | "cs_cz" | "da_dk" | "nl_nl" | "en_us" | "et_ee" | "fil_ph" | "fi_fi" | "fr_fr" | "ka_ge" | "de_de" | "el_gr" | "hi_in" | "hu_hu" | "id_id" | "it_it" | "ja_jp" | "kk_kz" | "km_kh" | "ko_kr" | "lv_lv" | "lt_lt" | "ms_my" | "pl_pl" | "pt_br" | "ro_ro" | "ru_ru" | "sr_rs" | "si_lk" | "sk_sk" | "sl_sl" | "es_es" | "sv_se" | "th_th" | "tr_tr" | "uk_ua" | "vi_vn"; premium?: boolean | undefined; idVerified?: boolean | undefined; socialNetworkProfiles?: { /** * Gets information about a user from their id. * @endpoint GET /v2/users/{userId} * * @param userId The id of the user to get detailed info about. * * @example const { data:userInfo } = await UsersApi.userInfo({ userId: 45348281 }); * @exampleData {"path":"users/45348281","createTime":"2013-07-13T07:50:00.083Z","id":"45348281","name":"MightyPart","displayName":"Mighty","about":"football nothing to is push sudden national","locale":"en_us","premium":true,"idVerified":true,"socialNetworkProfiles":{"visibility":"EVERYONE"}} * @exampleRawBody {"path":"users/45348281","createTime":"2013-07-13T07:50:00.083Z","id":"45348281","name":"MightyPart","displayName":"Mighty","about":"football nothing to is push sudden national","locale":"en_us","premium":true,"idVerified":true,"socialNetworkProfiles":{"facebook":"","twitter":"","youtube":"","twitch":"","guilded":"","visibility":"EVERYONE"}} */ facebook?: string | undefined; twitter?: string | undefined; youtube?: string | undefined; twitch?: string | undefined; guilded?: string | undefined; visibility: "SOCIAL_NETWORK_VISIBILITY_UNSPECIFIED" | "NO_ONE" | "FRIENDS" | "FRIENDS_AND_FOLLOWING" | "FRIENDS_FOLLOWING_AND_FOLLOWERS" | "EVERYONE"; } | undefined; }; response: { fullResponse: unknown; url: `https://${string}`; method: import("../../../utils/utils.types").RestMethod; success: boolean; statusCode: number; headers: Headers; body: { path: `users/${UserId}`; createTime: `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z+${number}${number}${number}${number}`; id: UserId; name: string; displayName: string; about: string; locale: "sq_al" | "ar_001" | "bn_bd" | "nb_no" | "bs_ba" | "bg_bg" | "my_mm" | "zh_cn" | "zh_tw" | "hr_hr" | "cs_cz" | "da_dk" | "nl_nl" | "en_us" | "et_ee" | "fil_ph" | "fi_fi" | "fr_fr" | "ka_ge" | "de_de" | "el_gr" | "hi_in" | "hu_hu" | "id_id" | "it_it" | "ja_jp" | "kk_kz" | "km_kh" | "ko_kr" | "lv_lv" | "lt_lt" | "ms_my" | "pl_pl" | "pt_br" | "ro_ro" | "ru_ru" | "sr_rs" | "si_lk" | "sk_sk" | "sl_sl" | "es_es" | "sv_se" | "th_th" | "tr_tr" | "uk_ua" | "vi_vn"; premium?: boolean | undefined; idVerified?: boolean | undefined; socialNetworkProfiles?: { facebook: string; twitter: string; youtube: string; twitch: string; guilded: string; visibility: "SOCIAL_NETWORK_VISIBILITY_UNSPECIFIED" | "NO_ONE" | "FRIENDS" | "FRIENDS_AND_FOLLOWING" | "FRIENDS_FOLLOWING_AND_FOLLOWERS" | "EVERYONE"; } | undefined; }; }; configUsed: { cookie?: `.ROBLOSECURITY=_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|${string}; RBXEventTrackerV2=CreateDate=1/1/1 1:1:1 PM&rbxid=1&browserid=1;` | undefined; cloudKey?: string | undefined; http?: { adapter?: import("../../../http/httpAdapters").HttpAdapter | undefined; csrfMaxAttempts?: number | undefined; csrfToken?: string | undefined; polling?: { disabled?: boolean | undefined; iterations?: number | undefined; multiplyer?: number | undefined; retryOffset?: number | undefined; debugMessages?: boolean | undefined; } | undefined; } | undefined; cache?: { name: string; get: (key: string) => any; set: (settings: any, key: string, value: any) => void; }[] | undefined; }; } & { again: () => Promise<{ data: { path: `users/${UserId}`; createTime: Date; id: UserId; name: string; displayName: string; about: string; locale: "sq_al" | "ar_001" | "bn_bd" | "nb_no" | "bs_ba" | "bg_bg" | "my_mm" | "zh_cn" | "zh_tw" | "hr_hr" | "cs_cz" | "da_dk" | "nl_nl" | "en_us" | "et_ee" | "fil_ph" | "fi_fi" | "fr_fr" | "ka_ge" | "de_de" | "el_gr" | "hi_in" | "hu_hu" | "id_id" | "it_it" | "ja_jp" | "kk_kz" | "km_kh" | "ko_kr" | "lv_lv" | "lt_lt" | "ms_my" | "pl_pl" | "pt_br" | "ro_ro" | "ru_ru" | "sr_rs" | "si_lk" | "sk_sk" | "sl_sl" | "es_es" | "sv_se" | "th_th" | "tr_tr" | "uk_ua" | "vi_vn"; premium?: boolean | undefined; idVerified?: boolean | undefined; socialNetworkProfiles?: { /** * Gets information about a user from their id. * @endpoint GET /v2/users/{userId} * * @param userId The id of the user to get detailed info about. * * @example const { data:userInfo } = await UsersApi.userInfo({ userId: 45348281 }); * @exampleData {"path":"users/45348281","createTime":"2013-07-13T07:50:00.083Z","id":"45348281","name":"MightyPart","displayName":"Mighty","about":"football nothing to is push sudden national","locale":"en_us","premium":true,"idVerified":true,"socialNetworkProfiles":{"visibility":"EVERYONE"}} * @exampleRawBody {"path":"users/45348281","createTime":"2013-07-13T07:50:00.083Z","id":"45348281","name":"MightyPart","displayName":"Mighty","about":"football nothing to is push sudden national","locale":"en_us","premium":true,"idVerified":true,"socialNetworkProfiles":{"facebook":"","twitter":"","youtube":"","twitch":"","guilded":"","visibility":"EVERYONE"}} */ facebook?: string | undefined; twitter?: string | undefined; youtube?: string | undefined; twitch?: string | undefined; guilded?: string | undefined; visibility: "SOCIAL_NETWORK_VISIBILITY_UNSPECIFIED" | "NO_ONE" | "FRIENDS" | "FRIENDS_AND_FOLLOWING" | "FRIENDS_FOLLOWING_AND_FOLLOWERS" | "EVERYONE"; } | undefined; }; response: { fullResponse: unknown; url: `https://${string}`; method: import("../../../utils/utils.types").RestMethod; success: boolean; statusCode: number; headers: Headers; body: { path: `users/${UserId}`; createTime: `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}Z+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}+${number}${number}${number}${number}` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z` | `${number}${number}${number}${number}-${number}${number}-${number}${number}T${number}${number}:${number}${number}:${number}${number}${number}${number}${number}Z+${number}${number}${number}${number}`; id: UserId; name: string; displayName: string; about: string; locale: "sq_al" | "ar_001" | "bn_bd" | "nb_no" | "bs_ba" | "bg_bg" | "my_mm" | "zh_cn" | "zh_tw" | "hr_hr" | "cs_cz" | "da_dk" | "nl_nl" | "en_us" | "et_ee" | "fil_ph" | "fi_fi" | "fr_fr" | "ka_ge" | "de_de" | "el_gr" | "hi_in" | "hu_hu" | "id_id" | "it_it" | "ja_jp" | "kk_kz" | "km_kh" | "ko_kr" | "lv_lv" | "lt_lt" | "ms_my" | "pl_pl" | "pt_br" | "ro_ro" | "ru_ru" | "sr_rs" | "si_lk" | "sk_sk" | "sl_sl" | "es_es" | "sv_se" | "th_th" | "tr_tr" | "uk_ua" | "vi_vn"; premium?: boolean | undefined; idVerified?: boolean | undefined; socialNetworkProfiles?: { facebook: string; twitter: string; youtube: string; twitch: string; guilded: string; visibility: "SOCIAL_NETWORK_VISIBILITY_UNSPECIFIED" | "NO_ONE" | "FRIENDS" | "FRIENDS_AND_FOLLOWING" | "FRIENDS_FOLLOWING_AND_FOLLOWERS" | "EVERYONE"; } | undefined; }; }; configUsed: { cookie?: `.ROBLOSECURITY=_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|${string}; RBXEventTrackerV2=CreateDate=1/1/1 1:1:1 PM&rbxid=1&browserid=1;` | undefined; cloudKey?: string | undefined; http?: { adapter?: import("../../../http/httpAdapters").HttpAdapter | undefined; csrfMaxAttempts?: number | undefined; csrfToken?: string | undefined; polling?: { disabled?: boolean | undefined; iterations?: number | undefined; multiplyer?: number | undefined; retryOffset?: number | undefined; debugMessages?: boolean | undefined; } | undefined; } | undefined; cache?: { name: string; get: (key: string) => any; set: (settings: any, key: string, value: any) => void; }[] | undefined; }; }>; }>; /** * Gets a users avatar. * @endpoint GET /v2/users/{userId}:generateThumbnail * * @param userId The id of the user to get the thumbnail for. * @param size The size of the thumbnail to be returned. * @param format The format of the thumbnail to be returned. * @param shape The shape of the thumbnail to be returned. * * @example const { data:userInfo } = await UsersApi.userInfo({ userId: 45348281 }); * @exampleData {"path":"users/45348281/operations/eyJOb25jZSI6ImM5ZGZmN2E3OTQ1ZTQxYTc4M2E3OGY4Nzk2ZTYwOTczIiwiVHlwZSI6IkdlbmVyYXRlVXNlclRodW1ibmFpbFJlcXVlc3QiLCJQYXRoIjoidXNlcnMvNDUzNDgyODEiLCJTaXplIjoiMCIsIkZvcm1hdCI6IjAiLCJTaGFwZSI6IjAifQ==","done":true,"response":{"@type":"apis.roblox.com/roblox.open_cloud.cloud.v2.GenerateUserThumbnailResponse","imageUri":"https://tr.rbxcdn.com/30DAY-AvatarHeadshot-8D297BB79DBA963A48A765F78DFC5D1B-Png/420/420/AvatarHeadshot/Png/isCircular"}} * @exampleRawBody {"path":"users/45348281/operations/eyJOb25jZSI6ImM5ZGZmN2E3OTQ1ZTQxYTc4M2E3OGY4Nzk2ZTYwOTczIiwiVHlwZSI6IkdlbmVyYXRlVXNlclRodW1ibmFpbFJlcXVlc3QiLCJQYXRoIjoidXNlcnMvNDUzNDgyODEiLCJTaXplIjoiMCIsIkZvcm1hdCI6IjAiLCJTaGFwZSI6IjAifQ==","done":true,"response":{"@type":"apis.roblox.com/roblox.open_cloud.cloud.v2.GenerateUserThumbnailResponse","imageUri":"https://tr.rbxcdn.com/30DAY-AvatarHeadshot-8D297BB79DBA963A48A765F78DFC5D1B-Png/420/420/AvatarHeadshot/Png/isCircular"}} */ export declare const userThumbnail: <UserId extends Identifier>(this: any, args: { userId: UserId; size?: 48 | 50 | 100 | 60 | 75 | 110 | 150 | 180 | 352 | 420 | 720 | undefined; format?: "PNG" | "JPEG" | undefined; shape?: "ROUND" | "SQUARE" | undefined; }) => Promise<{ data: { done: true; path: `users/${UserId}/operations/${string}`; response: { "@type": "apis.roblox.com/roblox.open_cloud.cloud.v2.GenerateUserThumbnailResponse"; imageUri: `https://${string}`; }; } | { done: false; path: `users/${UserId}/operations/${string}`; response?: undefined; }; response: { fullResponse: unknown; url: `https://${string}`; method: import("../../../utils/utils.types").RestMethod; success: boolean; statusCode: number; headers: Headers; body: { done: true; path: `users/${UserId}/operations/${string}`; response: { "@type": "apis.roblox.com/roblox.open_cloud.cloud.v2.GenerateUserThumbnailResponse"; imageUri: `https://${string}`; }; } | { done: false; path: `users/${UserId}/operations/${string}`; response?: undefined; }; }; configUsed: { cookie?: `.ROBLOSECURITY=_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|${string}; RBXEventTrackerV2=CreateDate=1/1/1 1:1:1 PM&rbxid=1&browserid=1;` | undefined; cloudKey?: string | undefined; http?: { adapter?: import("../../../http/httpAdapters").HttpAdapter | undefined; csrfMaxAttempts?: number | undefined; csrfToken?: string | undefined; polling?: { disabled?: boolean | undefined; iterations?: number | undefined; multiplyer?: number | undefined; retryOffset?: number | undefined; debugMessages?: boolean | undefined; } | undefined; } | undefined; cache?: { name: string; get: (key: string) => any; set: (settings: any, key: string, value: any) => void; }[] | undefined; }; } & { again: () => Promise<{ data: { done: true; path: `users/${UserId}/operations/${string}`; response: { "@type": "apis.roblox.com/roblox.open_cloud.cloud.v2.GenerateUserThumbnailResponse"; imageUri: `https://${string}`; }; } | { done: false; path: `users/${UserId}/operations/${string}`; response?: undefined; }; response: { fullResponse: unknown; url: `https://${string}`; method: import("../../../utils/utils.types").RestMethod; success: boolean; statusCode: number; headers: Headers; body: { done: true; path: `users/${UserId}/operations/${string}`; response: { "@type": "apis.roblox.com/roblox.open_cloud.cloud.v2.GenerateUserThumbnailResponse"; imageUri: `https://${string}`; }; } | { done: false; path: `users/${UserId}/operations/${string}`; response?: undefined; }; }; configUsed: { cookie?: `.ROBLOSECURITY=_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|${string}; RBXEventTrackerV2=CreateDate=1/1/1 1:1:1 PM&rbxid=1&browserid=1;` | undefined; cloudKey?: string | undefined; http?: { adapter?: import("../../../http/httpAdapters").HttpAdapter | undefined; csrfMaxAttempts?: number | undefined; csrfToken?: string | undefined; polling?: { disabled?: boolean | undefined; iterations?: number | undefined; multiplyer?: number | undefined; retryOffset?: number | undefined; debugMessages?: boolean | undefined; } | undefined; } | undefined; cache?: { name: string; get: (key: string) => any; set: (settings: any, key: string, value: any) => void; }[] | undefined; }; }>; }>; /** * Sends a notification to a user. * @endpoint POST /v2/users/{userId}/notifications * * @param userId The id of the user send the notification to. * @param universeId The id of the universe to send the notification from. * @param notificationData The data of the notification. * * @example * const { data:notification } = await UsersApi.sendNotificationToUser<Parameters>({ universeId: 1685831367, userId: 45348281, notificationData: { messageId: "f70b6a49-a5e5-a048-b1a4-10f9e930614f", parameters: { questsLeft: "15", custom: "lorem ipsum dolor sit amet" }, launchData: "joined from foobar", analyticsCategory: "foobar" } }) * @exampleData {"path":"users/45348281/notifications/05268fb7-3a73-4d07-9972-65e7a6063892","id":"05268fb7-3a73-4d07-9972-65e7a6063892"} * @exampleRawBody {"path":"users/45348281/notifications/05268fb7-3a73-4d07-9972-65e7a6063892","id":"05268fb7-3a73-4d07-9972-65e7a6063892"} */ export declare const sendNotificationToUser: <Parameters extends string>(this: any, args: { userId: Identifier; universeId: Identifier; notificationData: SendNotificationToUser_NotificationData<Parameters>; }) => Promise<{ data: { path: `users/${number}/notifications/3ba56f57-b34d-4baa-9cc5-f872b0ead852`; id: "3ba56f57-b34d-4baa-9cc5-f872b0ead852"; }; response: { fullResponse: unknown; url: `https://${string}`; method: import("../../../utils/utils.types").RestMethod; success: boolean; statusCode: number; headers: Headers; body: { path: `users/${number}/notifications/3ba56f57-b34d-4baa-9cc5-f872b0ead852`; id: "3ba56f57-b34d-4baa-9cc5-f872b0ead852"; }; }; configUsed: { cookie?: `.ROBLOSECURITY=_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|${string}; RBXEventTrackerV2=CreateDate=1/1/1 1:1:1 PM&rbxid=1&browserid=1;` | undefined; cloudKey?: string | undefined; http?: { adapter?: import("../../../http/httpAdapters").HttpAdapter | undefined; csrfMaxAttempts?: number | undefined; csrfToken?: string | undefined; polling?: { disabled?: boolean | undefined; iterations?: number | undefined; multiplyer?: number | undefined; retryOffset?: number | undefined; debugMessages?: boolean | undefined; } | undefined; } | undefined; cache?: { name: string; get: (key: string) => any; set: (settings: any, key: string, value: any) => void; }[] | undefined; }; } & { again: () => Promise<{ data: { path: `users/${number}/notifications/3ba56f57-b34d-4baa-9cc5-f872b0ead852`; id: "3ba56f57-b34d-4baa-9cc5-f872b0ead852"; }; response: { fullResponse: unknown; url: `https://${string}`; method: import("../../../utils/utils.types").RestMethod; success: boolean; statusCode: number; headers: Headers; body: { path: `users/${number}/notifications/3ba56f57-b34d-4baa-9cc5-f872b0ead852`; id: "3ba56f57-b34d-4baa-9cc5-f872b0ead852"; }; }; configUsed: { cookie?: `.ROBLOSECURITY=_|WARNING:-DO-NOT-SHARE-THIS.--Sharing-this-will-allow-someone-to-log-in-as-you-and-to-steal-your-ROBUX-and-items.|${string}; RBXEventTrackerV2=CreateDate=1/1/1 1:1:1 PM&rbxid=1&browserid=1;` | undefined; cloudKey?: string | undefined; http?: { adapter?: import("../../../http/httpAdapters").HttpAdapter | undefined; csrfMaxAttempts?: number | undefined; csrfToken?: string | undefined; polling?: { disabled?: boolean | undefined; iterations?: number | undefined; multiplyer?: number | undefined; retryOffset?: number | undefined; debugMessages?: boolean | undefined; } | undefined; } | undefined; cache?: { name: string; get: (key: string) => any; set: (settings: any, key: string, value: any) => void; }[] | undefined; }; }>; }>;