@telegram-apps/sdk
Version:
TypeScript Source Development Kit for Telegram Mini Apps client application.
69 lines (68 loc) • 2.85 kB
TypeScript
import { AbortablePromise, PromiseOptions } from 'better-promises';
/**
* Requested contact information.
*/
export interface RequestedContact {
contact: {
user_id: number;
phone_number: string;
first_name: string;
last_name?: string;
[key: string]: unknown;
};
auth_date: Date;
hash: string;
[key: string]: unknown;
}
/**
* Requested contact complete data.
*/
export interface RequestedContactCompleteData {
/**
* Raw original representation of the contact data returned from the Telegram server.
*/
raw: string;
/**
* Parsed representation of the contact data.
*/
parsed: RequestedContact;
}
/**
* Requests current user contact information. In contrary to requestPhoneAccess, this method
* returns promise with contact information that rejects in case, user denied access, or request
* failed.
*
* This function returns an object, containing both raw and parsed representations of the response,
* received from the Telegram client.
* @param options - additional options.
* @since Mini Apps v6.9
* @throws {FunctionNotAvailableError} The environment is unknown
* @throws {FunctionNotAvailableError} The SDK is not initialized
* @throws {FunctionNotAvailableError} The function is not supported
* @throws {AccessDeniedError} User denied access
* @throws {ValiError} Response has invalid structure
* @example
* if (requestContactComplete.isAvailable()) {
* const completeData = await requestContactComplete();
* }
*/
export declare const requestContactComplete: import('../../wrappers/wrapSafe.js').SafeWrapped<(options?: PromiseOptions) => AbortablePromise<RequestedContactCompleteData>, true, never>;
/**
* Works the same way as the `requestContactComplete` function, but returns only parsed
* representation of the contact data.
* @see requestContactComplete
* @param options - additional options.
* @since Mini Apps v6.9
* @throws {FunctionNotAvailableError} The environment is unknown
* @throws {FunctionNotAvailableError} The SDK is not initialized
* @throws {FunctionNotAvailableError} The function is not supported
* @throws {AccessDeniedError} User denied access
* @throws {ValiError} Response has invalid structure
* @example
* if (requestContact.isAvailable()) {
* const contact = await requestContact();
* }
*/
export declare const requestContact: import('../../wrappers/wrapSafe.js').SafeWrapped<(options?: PromiseOptions) => AbortablePromise<RequestedContact>, true, never>;
export declare const requestContactPromise: import('@telegram-apps/signals').Computed<AbortablePromise<RequestedContactCompleteData> | undefined>, isRequestingContact: import('@telegram-apps/signals').Computed<boolean>;
export declare const requestContactError: import('@telegram-apps/signals').Computed<Error | undefined>;