Class ClientUser

Hierarchy (view full)

Constructors

Properties

canJoinGroups: boolean

Indicates if the bot can be invited to groups

canReadAllMessages: boolean

Indicates if privacy mode is disabled for the bot

connectBusiness: boolean

Indicates if the bot can be connected to a Telegram Business account

firstName: string

User's or bot's first name

id: string

Unique identifier for this user or bot.

inAttachmentMenu?: boolean

True, if this user added the bot to the attachment menu

inlineQueries: boolean

Indicates if the bot supports inline queries

isBot: true

Indicates if this user is a bot

isPremium?: boolean

True, if this user is a Telegram Premium user

language?: LanguageCode

IETF language tag of the user's language

lastName?: string

User's or bot's last name

mainWebApp: boolean

Indicates if the bot has a main Web App

username: string

The bot's or user's username

Accessors

  • get token(): string
  • The authentication token for the Telegram bot

    Returns string

Methods

  • Protected

    Creates a clone of the current instance

    Returns Base

    A clone of the current instance

  • Parameters

    • data: User | UserFromGetMe

      represents a Telegram user or bot

    Returns User | UserFromGetMe

  • Protected

    Updates the current instance with new data and returns a clone of the updated instance

    Parameters

    • data: Record<string, any>

      The data to update the instance with

    Returns Base

    A clone of the updated instance

  • Use this method to delete the list of the bot's commands for the given scope and user language. After deletion, higher level commands will be shown to affected users.

    Parameters

    • Optionalscore: BotCommandScope

      An object, describing scope of users for which the commands are relevant. Defaults to BotCommandScopeDefault

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code. If empty, commands will be applied to all users from the given scope, for whose language there are no dedicated commands

    Returns Promise<true>

    Returns True on success.

  • Checks if this ClientUser is equal to another ClientUser.

    Parameters

    • other: ClientUser

      The other object to compare with.

    Returns boolean

    True if both objects are instances of ClientUser and are equal based on key properties, otherwise false.

  • Use this method to get the current default administrator rights of the bot.

    Parameters

    • OptionalforChannels: boolean

      Pass True to get default administrator rights of the bot in channels. Otherwise, default administrator rights of the bot for groups and supergroups will be returned.

    Returns Promise<ChatAdministratorRights>

    Returns ChatAdministratorRights on success.

  • Use this method to get the list of boosts added to a chat by a user. Requires administrator rights in the chat.

    Parameters

    • chatId: string | number

      Unique identifier for the chat or username of the channel (in the format @channelusername).

    Returns Promise<UserChatBoosts>

    Returns a UserChatBoosts object.

  • Use this method to get the current list of the bot's commands for the given scope and user language.

    Parameters

    • Optionalscore: BotCommandScope

      An object, describing scope of users for which the commands are relevant. Defaults to BotCommandScopeDefault

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code or an empty string

    Returns Promise<BotCommand[]>

    Returns an Array of BotCommand objects. If commands aren't set, an empty list is returned.

  • Use this method to get the current bot description for the given user language.

    Parameters

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code or an empty string

    Returns Promise<string>

    Returns bot description on success.

  • Returns the list of gifts that can be sent by the bot to users. Requires no parameters.

    Returns Promise<Gifts>

    Returns a Gifts object.

  • Use this method to get the current value of the bot's menu button in a private chat, or the default menu button.

    Parameters

    • OptionalchatId: number

      Unique identifier for the target private chat. If not specified, default bot's menu button will be returned

    Returns Promise<MenuButton>

    Returns MenuButton on success.

  • Use this method to get the current bot name for the given user language.

    Parameters

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code or an empty string

    Returns Promise<string>

    Returns bot name on success

  • Use this method to get a list of profile pictures for a user.

    Parameters

    • Optionaloffset: number

      Sequential number of the first photo to be returned. By default, all photos are returned

    • Optionallimit: number

      Limits the number of photos to be retrieved. Values between 1-100 are accepted. Defaults to 100

    Returns Promise<UserProfilePhotos>

    Returns a UserProfilePhotos object.

  • Use this method to get the current bot short description for the given user language.

    Parameters

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code or an empty string

    Returns Promise<string>

    Returns bot short description on success

  • Returns the bot's Telegram Star transactions in chronological order.

    Parameters

    • Optionaloptions: {
          limit?: number;
          offset?: number;
      }

      out parameters.

      • Optionallimit?: number

        The maximum number of transactions to be retrieved. Values between 1-100 are accepted. Defaults to 100.

      • Optionaloffset?: number

        Number of transactions to skip in the response

    Returns Promise<StarTransactions>

    On success, returns a StarTransactions object.

  • Refunds a successful payment in Telegram Stars.

    Parameters

    • telegramPaymentId: string

      Telegram payment identifier

    Returns Promise<true>

    Returns True on success.

  • Stores a message that can be sent by a user of a Mini App.

    Parameters

    • result: InlineQueryResult

      An object describing the message to be sent.

    • Optionaloptions: Omit<{
          allowBotChats?: boolean;
          allowChannelChats?: boolean;
          allowGroupChats?: boolean;
          allowUserChats?: boolean;
          result: InlineQueryResult;
          userId: string | number;
      }, "userId" | "result">

      out parameters.

    Returns Promise<PreparedInlineMessage>

    Returns a PreparedInlineMessage object.

  • Use this method to send text messages.

    Parameters

    • text: string

      Text of the message to be sent, 1-4096 characters after entities parsing and media group options

    • Optionaloptions: Omit<{
          businessConnectionId?: string;
          chatId: string | number;
          disableNotification?: boolean;
          entities?: MessageEntity[];
          linkPreviewOptions?: LinkPreviewOptions;
          messageEffectId?: string;
          messageThreadId?: string | number;
          parseMode?: ParseMode;
          protectContent?: boolean;
          replyMarkup?:
              | InlineKeyboardMarkup
              | ForceReply
              | ReplyKeyboardMarkup
              | ReplyKeyboardRemove;
          replyParameters?: ReplyParameters;
          text: string;
      }, "text" | "chatId">

      out parameters

    Returns Promise<Message & {
        content: string;
    }>

    On success, the sent Message is returned.

  • Parameters

    • text: Omit<{
          businessConnectionId?: string;
          chatId: string | number;
          disableNotification?: boolean;
          media: readonly (
              | InputMediaAudio
              | InputMediaDocument
              | InputMediaPhoto
              | InputMediaVideo)[];
          messageEffectId?: string;
          messageThreadId?: string | number;
          protectContent?: boolean;
          replyParameters?: ReplyParameters;
      }, "chatId">

    Returns Promise<(
        | Message & {
            audio: Audio;
        }
        | Message & {
            document: Document;
        }
        | Message & {
            photo: Photo;
        }
        | Message & {
            video: Video;
        })[]>

  • Parameters

    • text: string | Omit<{
          businessConnectionId?: string;
          chatId: string | number;
          disableNotification?: boolean;
          media: readonly (
              | InputMediaAudio
              | InputMediaDocument
              | InputMediaPhoto
              | InputMediaVideo)[];
          messageEffectId?: string;
          messageThreadId?: string | number;
          protectContent?: boolean;
          replyParameters?: ReplyParameters;
      }, "chatId">
    • Optionaloptions: Omit<{
          businessConnectionId?: string;
          chatId: string | number;
          disableNotification?: boolean;
          entities?: MessageEntity[];
          linkPreviewOptions?: LinkPreviewOptions;
          messageEffectId?: string;
          messageThreadId?: string | number;
          parseMode?: ParseMode;
          protectContent?: boolean;
          replyMarkup?:
              | InlineKeyboardMarkup
              | ForceReply
              | ReplyKeyboardMarkup
              | ReplyKeyboardRemove;
          replyParameters?: ReplyParameters;
          text: string;
      }, "text" | "chatId">

    Returns Promise<Message & {
        content: string;
    } | (
        | Message & {
            audio: Audio;
        }
        | Message & {
            document: Document;
        }
        | Message & {
            photo: Photo;
        }
        | Message & {
            video: Video;
        })[]>

  • Sends a gift to the given user. The gift can't be converted to Telegram Stars by the user.

    Parameters

    • giftId: string

      Identifier of the gift.

    • Optionaloptions: Omit<{
          giftId: string;
          text?: string;
          textEntities?: MessageEntity[];
          textParseMode?: ParseMode;
          userId: string | number;
      }, "giftId" | "userId">

      out parameters.

    Returns Promise<true>

    Returns True on success.

  • Use this method to change the default administrator rights requested by the bot when it's added as an administrator to groups or channels. These rights will be suggested to users, but they are free to modify the list before adding the bot.

    Parameters

    • Optionalrights: ChatPermissionFlags

      An object describing new default administrator rights. If not specified, the default administrator rights will be cleared

    • OptionalforChannels: boolean

      Pass True to change the default administrator rights of the bot in channels. Otherwise, the default administrator rights of the bot for groups and supergroups will be changed

    Returns Promise<true>

    Returns True on success.

  • Use this method to change the list of the bot's commands. See https://core.telegram.org/bots/features#commands for more details about bot commands.

    Parameters

    • commands: readonly BotCommand[]

      A list of bot commands to be set as the list of the bot's commands. At most 100 commands can be specified

    • Optionaloptions: {
          cope?: BotCommandScope;
          languageCode?: LanguageCode;
      }

      Options for setting commands, including scope and language code

      • Optionalcope?: BotCommandScope

        A list of bot commands to be set as the list of the bot's commands. At most 100 commands can be specified

      • OptionallanguageCode?: LanguageCode

        A two-letter ISO 639-1 language code. If empty, commands will be applied to all users from the given scope, for whose language there are no dedicated commands

    Returns Promise<true>

    Returns True on success.

  • Use this method to change the bot's description, which is shown in the chat with the bot if the chat is empty.

    Parameters

    • Optionaldescription: string

      New bot description; 0-512 characters. Pass an empty string to remove the dedicated description for the given language

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code. If empty, the description will be applied to all users for whose language there is no dedicated description

    Returns Promise<true>

    Returns True on success.

  • Changes the emoji status for a given user that previously allowed the bot to manage their emoji status via the Mini App method requestEmojiStatusAccess.

    Parameters

    • Optionaloptions: {
          emojiStatusCustomEmojiId?: string;
          emojiStatusExpirationDate?: number;
      }

      out parameters.

      • OptionalemojiStatusCustomEmojiId?: string

        Custom emoji identifier of the emoji status to set. Pass an empty string to remove the status.

      • OptionalemojiStatusExpirationDate?: number

        Expiration date of the emoji status, if any

    Returns Promise<true>

    Returns True on success.

  • Use this method to change the bot's menu button in a private chat, or the default menu button.

    Parameters

    • OptionalchatId: number

      Unique identifier for the target private chat. If not specified, default bot's menu button will be changed

    • Optionalmenu: MenuButton

      An object for the bot's new menu button. Defaults to MenuButtonDefault

    Returns Promise<true>

    Returns True on success.

  • Use this method to change the bot's name.

    Parameters

    • Optionalname: string

      New bot name; 0-64 characters. Pass an empty string to remove the dedicated name for the given language

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code. If empty, the name will be shown to all users for whose language there is no dedicated name

    Returns Promise<true>

    Returns True on success.

  • Informs a user that some of the Telegram Passport elements they provided contains errors. The user will not be able to re-submit their Passport to you until the errors are fixed (the contents of the field for which you returned the error must change).

    Parameters

    Returns Promise<true>

    Returns True on success.

  • Use this method to change the bot's short description, which is shown on the bot's profile page and is sent together with the link when users share the bot.

    Parameters

    • Optionaldescription: string

      New short description for the bot; 0-120 characters. Pass an empty string to remove the dedicated short description for the given language

    • Optionallanguage: LanguageCode

      A two-letter ISO 639-1 language code. If empty, the short description will be applied to all users for whose language there is no dedicated short description

    Returns Promise<true>

    Returns True on success.

  • Allows the bot to cancel or re-enable extension of a subscription paid in Telegram Stars.

    Parameters

    • telegramPaymentChargeId: string

      Telegram payment identifier for the subscription.

    • isCanceled: boolean

      Pass True to cancel extension of the user subscription; the subscription must be active up to the end of the current subscription period. Pass False to allow the user to re-enable a subscription that was previously canceled by the bot.

    Returns Promise<true>

    Returns True on success.

  • Flatten an object. Any properties that are collections will get converted to an array of keys.

    Parameters

    • OptionalpropsRecursive: boolean

      Optional. If true, calls toJSON method on nested objects.

    • Rest...props: Record<string, string | boolean>[]

      Optional. Specific properties to include/exclude, or rename.

    Returns Record<string, any>

    Flattened object.

  • Returns the id instance Chat, User, ChatMember and other

    Returns null | string