Options
All
  • Public
  • Public/Protected
  • All
Menu

Class MemberCache

Cache responsible for storing guild members

Hierarchy

  • BaseCache<MemberData & { guild_id?: string }>
    • MemberCache

Index

Methods

addToIndex

  • addToIndex(id: string, objectId?: string): Promise<void>
  • Add ids to the index of a namespace

    Parameters

    • id: string

      ids to add

    • objectId: string = ...

      id of the parent object of the index

    Returns Promise<void>

bindGuild

  • Bind a guild id to the cache

    Parameters

    • guildId: string

      id of the guild that should be bound to this cache

    Returns MemberCache

bindObject

  • bindObject(boundObject: Partial<MemberData & { guild_id?: string }>): void
  • Bind an object to the cache instance, you can read more on binding on the landing page of the documentation

    Parameters

    • boundObject: Partial<MemberData & { guild_id?: string }>

      Object to bind to this cache instance

    Returns void

buildId

  • buildId(userId: string, guildId?: string): string
  • Build a unique key for storing member data

    Parameters

    • userId: string

      id of the user belonging to the member

    • Optional guildId: string

      id of the guild the member+

    Returns string

filter

  • filter(fn: (member?: MemberData, index?: number, array?: MemberData[]) => unknown, guildId?: string, ids: string[]): Promise<MemberCache[]>
  • Filter for members by providing filter function which returns true upon success and false otherwise

    Parameters

    • fn: (member?: MemberData, index?: number, array?: MemberData[]) => unknown

      Filter function

        • (member?: MemberData, index?: number, array?: MemberData[]): unknown
        • Parameters

          • Optional member: MemberData
          • Optional index: number
          • Optional array: MemberData[]

          Returns unknown

    • guildId: string = ...

      guild id the member is in

    • ids: string[]

    Returns Promise<MemberCache[]>

find

  • find(fn: (member?: MemberData, index?: number, array?: string[]) => boolean, guildId?: string, ids?: undefined | string[]): Promise<null | MemberCache>
  • Filter through the collection of members and return the first match

    Parameters

    • fn: (member?: MemberData, index?: number, array?: string[]) => boolean

      Filter function

        • (member?: MemberData, index?: number, array?: string[]): boolean
        • Parameters

          • Optional member: MemberData
          • Optional index: number
          • Optional array: string[]

          Returns boolean

    • guildId: string = ...

      guild id the member is in

    • ids: undefined | string[] = undefined

    Returns Promise<null | MemberCache>

get

  • Get a member via id

    Parameters

    • id: string

      id of the member

    • guildId: undefined | string = ...

      id of the guild of the member, defaults to the bound guild of the cache

    Returns Promise<null | MemberCache>

    bound member cache with properties of the member or null if no member is cached

getIndexCount

  • getIndexCount(objectId?: string): Promise<number>
  • Get the number of elements that are within an index

    Parameters

    • objectId: string = ...

      id of the parent object of the index

    Returns Promise<number>

getIndexMembers

  • getIndexMembers(objectId?: string): Promise<string[]>
  • Get all members from an index

    Parameters

    • objectId: string = ...

      id of the parent object of the index

    Returns Promise<string[]>

isIndexed

  • isIndexed(id: string, objectId?: string): Promise<boolean>
  • Check if an id is a member of an index

    Parameters

    • id: string

      id to check

    • objectId: string = ...

      id of the parent object of the index

    Returns Promise<boolean>

    returns true if it is a part of the index, false otherwise

remove

  • remove(id: string, guildId?: undefined | string): Promise<void>
  • Remove a member from the cache

    Parameters

    • id: string

      id of the member

    • guildId: undefined | string = ...

      id of the guild of the member, defaults to the bound guild of the cache

    Returns Promise<void>

removeFromIndex

  • removeFromIndex(id: string, objectId?: string): Promise<void>
  • Remove an id from the index

    Parameters

    • id: string

      id to be removed

    • objectId: string = ...

      id of the parent object of the index

    Returns Promise<void>

removeIndex

  • removeIndex(objectId?: string): Promise<void>
  • Delete an index

    Parameters

    • objectId: string = ...

      id of the parent object of the index

    Returns Promise<void>

structurize

  • structurize<D>(data: Partial<D>): Partial<D>
  • Delete keys from data if necessary based on RainCache structureDefs options and return the cleaned data

    Type parameters

    • D

    Parameters

    • data: Partial<D>

      The data to possibly delete object entries from

    Returns Partial<D>

update

  • update(id: string, guildId?: undefined | string, data: Partial<MemberData & UserData & { guild_id: string }>): Promise<MemberCache>
  • Update data of a guild member

    Parameters

    • id: string

      id of the member

    • guildId: undefined | string = ...

      id of the guild of the member, defaults to the bound guild of the cache

    • data: Partial<MemberData & UserData & { guild_id: string }>

      updated guild member data

    Returns Promise<MemberCache>

Properties

boundGuild

boundGuild: string = ""

boundObject

boundObject: null | Partial<MemberData & { guild_id?: string }> = null

dataTimestamp

dataTimestamp: null | Date = null

Optional guild_id

guild_id?: string

namespace

namespace: "member" = "member"

rain

rain: RainCache<any, any>

storageEngine

storageEngine: BaseStorageEngine<MemberData>

userCache

userCache: UserCache

Constructors

constructor

  • Creates a new MemberCache

    This class is automatically instantiated by RainCache

    Parameters

    • storageEngine: BaseStorageEngine<MemberData>

      storage engine to use

    • userCache: UserCache

      user cache instance

    • rain: RainCache<any, any>
    • Optional boundObject: Partial<MemberData & { guild_id?: string }>

      Bind an object to this instance

    Returns MemberCache

Generated using TypeDoc