Skip to content

Privacy

requestPhoneAccess

To request access to a user's phone information, use the requestPhoneAccess method. If the user grants access, the developer's bot will receive the phone details.

ts
import { requestPhoneAccess } from '@telegram-apps/sdk';

if (requestPhoneAccess.isAvailable()) {
  const status = await requestPhoneAccess();
  // status will be 'sent' | 'cancelled' | string
}
ts
import { requestPhoneAccess } from '@telegram-apps/sdk';

const result = requestPhoneAccess.ifAvailable();
if (result[0]) {
  // status will be 'sent' | 'cancelled' | string | undefined
  const status = await result[1];
}

requestWriteAccess

To request permission to send messages to the user, use the requestWriteAccess method.

ts
import { requestWriteAccess } from '@telegram-apps/sdk';

if (requestWriteAccess.isAvailable()) {
  const status = await requestWriteAccess();
  // status will be 'allowed' | string
}
ts
import { requestWriteAccess } from '@telegram-apps/sdk';

const result = requestWriteAccess.ifAvailable();
if (result[0]) {
  // status will be 'allowed' | string | undefined
  const status = await result[1];
}

requestContact

To retrieve a user's contact information, use the requestContact method.

ts
import { requestContact } from '@telegram-apps/sdk';

if (requestContact.isAvailable()) {
  const contact = await requestContact();
  // {
  //   contact: {
  //     user_id: 1,
  //     phone_number: '+987654321',
  //     first_name: 'Vladislav',
  //     last_name: 'Kibenko'
  //   },
  //   auth_date: Date(12345678),
  //   hash: 'abcdefgh'
  // };
}
ts
import { requestContact } from '@telegram-apps/sdk';

const result = requestContact.ifAvailable();
if (result[0]) {
  const contact = await result[1];
  // {
  //   contact: {
  //     userId: 1,
  //     phoneNumber: '+987654321',
  //     firstName: 'Vladislav',
  //     lastName: 'Kibenko'
  //   },
  //   authDate: Date(12345678),
  //   hash: 'abcdefgh'
  // };
}

requestContactComplete

This function works the same as requestContactComplete, but it also returns a raw representation of the contact data from the Telegram client, so its signature could be verified.

ts
import { requestContactComplete } from '@telegram-apps/sdk';

if (requestContactComplete.isAvailable()) {
  const contact = await requestContactComplete();
  // {
  //   raw: 'contact=...&auth_date=...&hash=...',
  //   contact: { ... }
  // }
}
ts
import { requestContact } from '@telegram-apps/sdk';

const result = requestContact.ifAvailable();
if (result[0]) {
  const contact = await result[1];
  // {
  //   raw: 'contact=...&auth_date=...&hash=...',
  //   contact: { ... }
  // }
}

Released under the MIT License.