stoatbot.js
    Preparing search index...

    Class UserManager

    Hierarchy (View Summary)

    Index

    Constructors

    Properties

    cache: Map<string, User> = ...

    Insertion ordered cache of items this manager holds.

    defaultMaxSize: number = -1

    Shared default max size for all managers (can be changed globally).

    Methods

    • get a user form cache

      Parameters

      Returns User | null

      The user or null if it cannot be resolved

    • get a user form cache

      Parameters

      • resolvable:
            | string
            | {
                _id: string;
                avatar?: | {
                    _id: string;
                    content_type: string;
                    deleted?: boolean
                    | null;
                    filename: string;
                    message_id?: string | null;
                    metadata:
                        | { type: "File" }
                        | { type: "Text" }
                        | { height: number; type: "Image"; width: number }
                        | { height: number; type: "Video"; width: number }
                        | { type: "Audio" };
                    object_id?: string | null;
                    reported?: boolean | null;
                    server_id?: string | null;
                    size: number;
                    tag: string;
                    user_id?: string | null;
                }
                | null;
                badges?: number;
                bot?: { owner: string }
                | null;
                discriminator: string;
                display_name?: string | null;
                flags?: number;
                online: boolean;
                privileged?: boolean;
                relations?: {
                    _id: string;
                    status:
                        | "User"
                        | "None"
                        | "Friend"
                        | "Outgoing"
                        | "Incoming"
                        | "Blocked"
                        | "BlockedOther";
                }[];
                relationship: | "User"
                | "None"
                | "Friend"
                | "Outgoing"
                | "Incoming"
                | "Blocked"
                | "BlockedOther";
                status?: | {
                    presence?: "Online"
                    | "Idle"
                    | "Focus"
                    | "Busy"
                    | "Invisible"
                    | null;
                    text?: string | null;
                }
                | null;
                username: string;
            }

        The user to resolve

        • string
        • {
              _id: string;
              avatar?:
                  | {
                      _id: string;
                      content_type: string;
                      deleted?: boolean
                      | null;
                      filename: string;
                      message_id?: string | null;
                      metadata:
                          | { type: "File" }
                          | { type: "Text" }
                          | { height: number; type: "Image"; width: number }
                          | { height: number; type: "Video"; width: number }
                          | { type: "Audio" };
                      object_id?: string | null;
                      reported?: boolean | null;
                      server_id?: string | null;
                      size: number;
                      tag: string;
                      user_id?: string | null;
                  }
                  | null;
              badges?: number;
              bot?: { owner: string }
              | null;
              discriminator: string;
              display_name?: string | null;
              flags?: number;
              online: boolean;
              privileged?: boolean;
              relations?: {
                  _id: string;
                  status:
                      | "User"
                      | "None"
                      | "Friend"
                      | "Outgoing"
                      | "Incoming"
                      | "Blocked"
                      | "BlockedOther";
              }[];
              relationship: | "User"
              | "None"
              | "Friend"
              | "Outgoing"
              | "Incoming"
              | "Blocked"
              | "BlockedOther";
              status?: | {
                  presence?: "Online"
                  | "Idle"
                  | "Focus"
                  | "Busy"
                  | "Invisible"
                  | null;
                  text?: string | null;
              }
              | null;
              username: string;
          }
          • _id: string

            Unique Id

          • Optionalavatar?:
                | {
                    _id: string;
                    content_type: string;
                    deleted?: boolean
                    | null;
                    filename: string;
                    message_id?: string | null;
                    metadata:
                        | { type: "File" }
                        | { type: "Text" }
                        | { height: number; type: "Image"; width: number }
                        | { height: number; type: "Video"; width: number }
                        | { type: "Audio" };
                    object_id?: string | null;
                    reported?: boolean | null;
                    server_id?: string | null;
                    size: number;
                    tag: string;
                    user_id?: string | null;
                }
                | null

            Avatar attachment

          • Optionalbadges?: number

            Format: uint32

          • Optionalbot?: { owner: string } | null

            Bot information

          • discriminator: string

            Discriminator

          • Optionaldisplay_name?: string | null

            Display name

          • Optionalflags?: number

            Format: uint32

          • online: boolean

            Whether this user is currently online

          • Optionalprivileged?: boolean

            Whether this user is privileged

          • Optionalrelations?: {
                _id: string;
                status:
                    | "User"
                    | "None"
                    | "Friend"
                    | "Outgoing"
                    | "Incoming"
                    | "Blocked"
                    | "BlockedOther";
            }[]

            Relationships with other users

          • relationship:
                | "User"
                | "None"
                | "Friend"
                | "Outgoing"
                | "Incoming"
                | "Blocked"
                | "BlockedOther"

            Current session user's relationship with this user

          • Optionalstatus?:
                | {
                    presence?: "Online"
                    | "Idle"
                    | "Focus"
                    | "Busy"
                    | "Invisible"
                    | null;
                    text?: string | null;
                }
                | null

            User's current status

          • username: string

            Username

      Returns User | null

      The user or null if it cannot be resolved