openblox
Version:
Roblox API Wrapper For Both Classic And OpenCloud APIs.
406 lines (405 loc) • 23.8 kB
TypeScript
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;
};
}>;
}>;