UserRepository
extends AbstractRepository
in package
Contains users that the client shares guilds with.
Tags
Table of Contents
Properties
- $cache : CacheWrapper
- $discrim : string
- $class : string
- Class type allowed into the collection.
- $discord : mixed
- $endpoints : array<string|int, mixed>
- Endpoints for interacting with the Discord servers.
- $factory : Factory
- The parts factory.
- $http : Http
- The HTTP client.
- $items : array<string|int, mixed>
- The items contained in the collection.
- $vars : array<string|int, mixed>
- Variables that are related to the repository.
Methods
- __call() : mixed
- This method checks if a method with the name "__Collection__{$name}" exists within the class. If it does, it calls that method with the provided arguments.
- __construct() : mixed
- AbstractRepository constructor.
- __debugInfo() : array<string|int, mixed>
- __get() : mixed
- clear() : void
- Clears the repository.
- create() : Part
- Builds a new, empty part.
- delete() : PromiseInterface<string|int, Part>
- Attempts to delete a part on the Discord servers.
- fetch() : PromiseInterface<string|int, Part>
- Gets a part from the repository or Discord servers.
- filter() : ExCollectionInterface
- Runs a filter callback over the repository and returns a new collection based on the response of the callback.
- find() : User|null
- first() : User|null
- fresh() : PromiseInterface<string|int, Part>
- Returns a part with fresh values.
- freshen() : PromiseInterface<string|int, static>
- Freshens the repository cache.
- get() : User|null
- getCurrentUser() : PromiseInterface<string|int, User>
- Returns the user object of the requester's account.
- getIterator() : Traversable
- Returns an iterator for the cache.
- has() : bool
- Checks if the array has an object.
- jsonSerialize() : array<string|int, mixed>
- keys() : array<string|int, int>|array<string|int, string>
- Get the keys of the items.
- last() : User|null
- modifyCurrentUser() : PromiseInterface<string|int, User>
- Modify the requester's user account settings.
- offsetExists() : bool
- If the repository has an offset.
- offsetGet() : Part|null
- Gets a part from the repository.
- offsetSet() : void
- Sets a part into the repository.
- offsetUnset() : void
- Unsets an index from the repository.
- pull() : User|null
- pushItem() : self
- Pushes a single item to the repository.
- save() : PromiseInterface<string|int, Part>
- Attempts to save a part to the Discord servers.
- set() : mixed
- Sets a part in the repository.
- toArray() : array<string|int, mixed>
- Converts the weak caches to array.
- values() : array<string|int, mixed>
- Get the values of the items.
- __getCurrentUser() : PromiseInterface<string|int, User>
- Returns the user object of the requester's account.
- cacheFreshen() : PromiseInterface<string|int, static>
Properties
$cache read-only
public
CacheWrapper
$cache
The react/cache wrapper.
$discrim
public
string
$discrim
The discriminator.
$class
Class type allowed into the collection.
protected
string
$class
= \Discord\Parts\User\User::class
Tags
$discord
protected
mixed
$discord
$endpoints
Endpoints for interacting with the Discord servers.
protected
array<string|int, mixed>
$endpoints
= ['get' => \Discord\Http\Endpoint::USER]
Endpoints.
Tags
$factory
The parts factory.
protected
Factory
$factory
Parts factory.
$http
The HTTP client.
protected
Http
$http
Client.
$items
The items contained in the collection.
protected
array<string|int, mixed>
$items
= []
$vars
Variables that are related to the repository.
protected
array<string|int, mixed>
$vars
= []
Variables.
Methods
__call()
This method checks if a method with the name "__Collection__{$name}" exists within the class. If it does, it calls that method with the provided arguments.
public
__call(string $name, array<string|int, mixed> $arguments) : mixed
If the method does not exist, it throws a BadMethodCallException.
Previously, this class utilized parent::method to call methods from the parent class.
This was changed to use the __Collection__method naming convention to avoid conflicts
Parameters
- $name : string
-
The name of the method being called.
- $arguments : array<string|int, mixed>
-
The arguments passed to the method.
Tags
Return values
mixed —The result of the called method.
__construct()
AbstractRepository constructor.
public
__construct(Discord $discord[, array<string|int, mixed> $vars = [] ]) : mixed
Parameters
- $discord : Discord
- $vars : array<string|int, mixed> = []
-
An array of variables used for the endpoint.
__debugInfo()
public
__debugInfo() : array<string|int, mixed>
Return values
array<string|int, mixed>__get()
public
__get(string $key) : mixed
Parameters
- $key : string
clear()
Clears the repository.
public
clear() : void
Use async $repository->cache->clear()
create()
Builds a new, empty part.
public
create([array<string|int, mixed>|object $attributes = [] ][, bool $created = false ]) : Part
Parameters
- $attributes : array<string|int, mixed>|object = []
-
The attributes for the new part.
- $created : bool = false
Tags
Return values
Part —The new part.
delete()
Attempts to delete a part on the Discord servers.
public
delete(Part|string $part[, string|null $reason = null ]) : PromiseInterface<string|int, Part>
Parameters
- $part : Part|string
-
The part to delete.
- $reason : string|null = null
-
Reason for Audit Log (if supported).
Tags
Return values
PromiseInterface<string|int, Part>fetch()
Gets a part from the repository or Discord servers.
public
fetch(string $id[, bool $fresh = false ]) : PromiseInterface<string|int, Part>
Parameters
- $id : string
-
The ID to search for.
- $fresh : bool = false
-
Whether we should skip checking the cache.
Tags
Return values
PromiseInterface<string|int, Part>filter()
Runs a filter callback over the repository and returns a new collection based on the response of the callback.
public
filter(callable $callback) : ExCollectionInterface
Parameters
- $callback : callable
Tags
Return values
ExCollectionInterfacefind()
public
find(callable $callback) : User|null
Parameters
- $callback : callable
Return values
User|nullfirst()
public
first() : User|null
Return values
User|nullfresh()
Returns a part with fresh values.
public
fresh(Part $part[, array<string|int, mixed> $queryparams = [] ]) : PromiseInterface<string|int, Part>
Parameters
- $part : Part
-
The part to get fresh values.
- $queryparams : array<string|int, mixed> = []
-
Query string params to add to the request (no validation)
Tags
Return values
PromiseInterface<string|int, Part>freshen()
Freshens the repository cache.
public
freshen([array<string|int, mixed> $queryparams = [] ]) : PromiseInterface<string|int, static>
Parameters
- $queryparams : array<string|int, mixed> = []
-
Query string params to add to the request (no validation)
Tags
Return values
PromiseInterface<string|int, static>get()
public
get(string $discrim, mixed $key) : User|null
Parameters
- $discrim : string
- $key : mixed
Return values
User|nullgetCurrentUser()
Returns the user object of the requester's account.
public
getCurrentUser([bool $fresh = false ]) : PromiseInterface<string|int, User>
Parameters
- $fresh : bool = false
-
Whether to fetch a fresh copy from the API.
Tags
Return values
PromiseInterface<string|int, User>getIterator()
Returns an iterator for the cache.
public
& getIterator() : Traversable
Return values
Traversablehas()
Checks if the array has an object.
public
has(string|int ...$keys) : bool
Use async $repository->cache->has()
Parameters
- $keys : string|int
Return values
booljsonSerialize()
public
jsonSerialize([bool $assoc = true ]) : array<string|int, mixed>
Parameters
- $assoc : bool = true
Tags
Return values
array<string|int, mixed>keys()
Get the keys of the items.
public
keys() : array<string|int, int>|array<string|int, string>
Return values
array<string|int, int>|array<string|int, string>last()
public
last() : User|null
Return values
User|nullmodifyCurrentUser()
Modify the requester's user account settings.
public
modifyCurrentUser(array<string|int, mixed> $params) : PromiseInterface<string|int, User>
Returns a user object on success. Fires a User Update Gateway event.
Parameters
- $params : array<string|int, mixed>
Tags
Return values
PromiseInterface<string|int, User>offsetExists()
If the repository has an offset.
public
offsetExists(string|int $offset) : bool
Use async $repository->cache->has()
This method is deprecated for userland code but can still be used internally within the library.
Parameters
- $offset : string|int
Return values
booloffsetGet()
Gets a part from the repository.
public
offsetGet(string|int $offset) : Part|null
Use async $repository->cacheGet() or sync $repository->get()
This method is deprecated for userland code but can still be used internally within the library.
Parameters
- $offset : string|int
Return values
Part|nulloffsetSet()
Sets a part into the repository.
public
offsetSet(string|int $offset, Part|null $value) : void
Use async $repository->cache->set()
Parameters
- $offset : string|int
- $value : Part|null
offsetUnset()
Unsets an index from the repository.
public
offsetUnset(string|int $offset) : void
Use async $repository->cache->delete()
Parameters
- $offset : string|int
pull()
public
pull(string|int $key[, mixed $default = = 'null' ]) : User|null
Parameters
- $key : string|int
- $default : mixed = = 'null'
Return values
User|nullpushItem()
Pushes a single item to the repository.
public
pushItem(Part $item) : self
Use async $repository->cache->set()
This method is deprecated for userland code but can still be used internally within the library.
Parameters
- $item : Part
Return values
selfsave()
Attempts to save a part to the Discord servers.
public
save(Part $part[, string|null $reason = null ]) : PromiseInterface<string|int, Part>
Use Part->save($reason) to ensure permissions are checked.
Parameters
- $part : Part
-
The part to save.
- $reason : string|null = null
-
Reason for Audit Log (if supported).
Tags
Return values
PromiseInterface<string|int, Part>set()
Sets a part in the repository.
public
set(string|int $offset, Part $value) : mixed
Parameters
- $offset : string|int
- $value : Part
toArray()
Converts the weak caches to array.
public
toArray([bool $assoc = true ]) : array<string|int, mixed>
Use jsonSerialize
Parameters
- $assoc : bool = true
Return values
array<string|int, mixed>values()
Get the values of the items.
public
values() : array<string|int, mixed>
Return values
array<string|int, mixed>__getCurrentUser()
Returns the user object of the requester's account.
protected
__getCurrentUser() : PromiseInterface<string|int, User>
For OAuth2, this requires the identify scope, which will return the object without an email, and optionally the email scope, which returns the object with an email if the user has one.
Tags
Return values
PromiseInterface<string|int, User>cacheFreshen()
protected
cacheFreshen(object $response) : PromiseInterface<string|int, static>
Parameters
- $response : object