GlobalCommandRepository
extends AbstractRepository
in package
uses
CommandRepositoryTrait
Contains application global commands.
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
- Exposes the read-only \`discrim\` and \`cache\` properties.
- bulkOverwrite() : PromiseInterface<string|int, static>
- Overwrites the application's commands with the ones given, in a single request.
- 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() : Command|null
- first() : Command|null
- fresh() : PromiseInterface<string|int, Part>
- Returns a part with fresh values.
- freshen() : PromiseInterface<string|int, static>
- Freshens the repository cache.
- get() : Command|null
- 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() : Command|null
- 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() : Command|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.
- cacheFreshen() : PromiseInterface<string|int, static>
- forgetCachedItems() : void
- Drops every cached part, before the repository is refilled from a response that lists all of them.
- putCommands() : PromiseInterface
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\Application\Command\Command::class
Tags
$discord
protected
mixed
$discord
$endpoints
Endpoints for interacting with the Discord servers.
protected
array<string|int, mixed>
$endpoints
= ['all' => \Discord\Http\Endpoint::GLOBAL_APPLICATION_COMMANDS, 'get' => \Discord\Http\Endpoint::GLOBAL_APPLICATION_COMMAND, 'create' => \Discord\Http\Endpoint::GLOBAL_APPLICATION_COMMANDS, 'update' => \Discord\Http\Endpoint::GLOBAL_APPLICATION_COMMAND, 'delete' => \Discord\Http\Endpoint::GLOBAL_APPLICATION_COMMAND]
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()
Exposes the read-only \`discrim\` and \`cache\` properties.
public
__get(string $key) : mixed
Parameters
- $key : string
bulkOverwrite()
Overwrites the application's commands with the ones given, in a single request.
public
bulkOverwrite(array<string|int, CommandBuilder|Command|array<string|int, mixed>> $commands) : PromiseInterface<string|int, static>
Commands missing from the list are deleted, those whose name and type match an existing command update it, and the rest are created. Commands that do not change do not count toward the daily limit on creating them. Afterwards the repository holds exactly the commands Discord returns.
Parameters
- $commands : array<string|int, CommandBuilder|Command|array<string|int, mixed>>
-
Every command the application should have here.
Tags
Return values
PromiseInterface<string|int, static>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) : Command|null
Parameters
- $callback : callable
Return values
Command|nullfirst()
public
first() : Command|null
Return values
Command|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) : Command|null
Parameters
- $discrim : string
- $key : mixed
Return values
Command|nullgetIterator()
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() : Command|null
Return values
Command|nulloffsetExists()
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 $value) : void
Use async $repository->cache->set()
Parameters
- $offset : string|int
- $value : ?Part
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' ]) : Command|null
Parameters
- $key : string|int
- $default : mixed = = 'null'
Return values
Command|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>cacheFreshen()
protected
cacheFreshen(object $response) : PromiseInterface<string|int, static>
Parameters
- $response : object
Return values
PromiseInterface<string|int, static>forgetCachedItems()
Drops every cached part, before the repository is refilled from a response that lists all of them.
protected
forgetCachedItems() : void
Parts still referenced elsewhere are kept as weak references, so they are reused if the response names them again.
Tags
putCommands()
protected
putCommands(array<string|int, mixed> $commands) : PromiseInterface
Parameters
- $commands : array<string|int, mixed>