MessageRepository
extends AbstractRepository
in package
Returns a list of messages without the `reactions` key that match a search query in the guild. Requires the `READ_MESSAGE_HISTORY` permission.
If the entity you are searching is not yet indexed, the endpoint will return a 202 accepted response. The response body will not contain any search results, and will look similar to an error response.
Due to speed optimizations, search may return slightly less results than the limit specified when messages have not been accessed for a long time.
Clients should not rely on the length of the messages array to paginate results.
Additionally, when messages are actively being created or deleted, the total_results field may not be accurate.
Tags
Table of Contents
Properties
- $cache : CacheWrapper
- $class : string
- Class type allowed into the collection.
- $discord : mixed
- $discrim : string
- The collection discriminator.
- $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() : Message|null
- first() : Message|null
- fresh() : PromiseInterface<string|int, Part>
- Returns a part with fresh values.
- freshen() : PromiseInterface<string|int, static>
- Freshens the repository cache.
- get() : Message|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() : Message|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() : Message|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>
Properties
$cache read-only
public
CacheWrapper
$cache
The react/cache wrapper.
$class
Class type allowed into the collection.
protected
string
$class
= \Discord\Parts\Guild\GuildSearch::class
Tags
$discord
protected
mixed
$discord
$discrim
The collection discriminator.
protected
string
$discrim
= 'analytics_id'
Discriminator.
$endpoints
Endpoints for interacting with the Discord servers.
protected
array<string|int, mixed>
$endpoints
= ['all' => \Discord\Http\Endpoint::GUILD_MESSAGES_SEARCH]
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) : Message|null
Parameters
- $callback : callable
Return values
Message|nullfirst()
public
first() : Message|null
Return values
Message|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([bool $queryparams = [] ]) : PromiseInterface<string|int, static>
Parameters
- $queryparams : bool = []
-
['include_nsfw'] Boolean, whether to include results from NSFW channels (default false).
Tags
Return values
PromiseInterface<string|int, static>get()
public
get(string $discrim, mixed $key) : Message|null
Parameters
- $discrim : string
- $key : mixed
Return values
Message|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() : Message|null
Return values
Message|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|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' ]) : Message|null
Parameters
- $key : string|int
- $default : mixed = = 'null'
Return values
Message|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