DiscordPHP Documentation

Application extends Part
in package

The OAuth2 application of the bot.

Tags
link
https://discord.com/developers/docs/resources/application
since
7.0.0

Table of Contents

ACTIVE  = 1 << 24
APPLICATION_COMMAND_BADGE  = 1 << 23
EMBEDDED  = 1 << 17
GATEWAY_GUILD_MEMBERS  = 1 << 14
GATEWAY_GUILD_MEMBERS_LIMITED  = 1 << 15
GATEWAY_MESSAGE_CONTENT  = 1 << 18
GATEWAY_MESSAGE_CONTENT_LIMITED  = 1 << 19
GATEWAY_PRESENCE  = 1 << 12
GATEWAY_PRESENCE_LIMITED  = 1 << 13
VERIFICATION_PENDING_GUILD_LIMIT  = 1 << 16
$bot_public  : bool
$bot_require_code_grant  : bool
$commands  : GlobalCommandRepository
$cover_image  : string|null
$cover_image_hash  : string|null
$created  : bool
Is the part already created in the Discord servers?
$custom_install_url  : string|null
$description  : string
$flags  : int
$guild_id  : string|null
$icon  : string|null
$icon_hash  : string
$id  : string
$install_params  : object|null
$invite_url  : string
$name  : string
$owner  : User|null
$primary_sku_id  : string|null
$privacy_policy_url  : string|null
$role_connections_verification_url  : string|null
$rpc_origins  : array<string|int, string>
$scriptData  : mixed
Custom script data.
$slug  : string|null
$tags  : array<string|int, string>|null
$team  : object|null
$terms_of_service_url  : string|null
$verify_key  : string
$attributes  : array<string|int, mixed>
The parts attributes.
$discord  : Discord
The Discord client.
$factory  : Factory
The factory.
$fillable  : array<string|int, mixed>
The parts fillable attributes.
$hidden  : array<string|int, mixed>
Attributes that are hidden from debug info.
$http  : Http
The HTTP client.
$repositories  : array<string|int, mixed>
An array of repositories that can exist in a part.
$repositories_cache  : array<string|int, mixed>
An array of repositories.
$visible  : array<string|int, mixed>
Attributes which are visible from debug info.
__construct()  : mixed
Create a new part instance.
__debugInfo()  : array<string|int, mixed>
Handles debug calls from var_dump and similar functions.
__get()  : mixed
Handles dynamic get calls onto the part.
__serialize()  : array<string|int, mixed>
__set()  : void
Handles dynamic set calls onto the part.
__toString()  : string
Converts the part to a string.
__unserialize()  : void
fetch()  : ExtendedPromiseInterface<string|int, self>
Fetches any missing information about the part from Discord's servers.
fill()  : void
Fills the parts attributes from an array.
getCoverImageAttribute()  : string|null
Returns the application cover image.
getCreatableAttributes()  : array<string|int, mixed>
Returns the attributes needed to create.
getIconAttribute()  : string|null
Returns the application icon.
getInviteURLAttribute()  : string
Returns the invite URL for the application.
getPublicAttributes()  : array<string|int, mixed>
Returns an array of public attributes.
getRawAttributes()  : array<string|int, mixed>
Returns an array of raw attributes.
getRepositoryAttributes()  : array<string|int, mixed>
Gets the attributes to pass to repositories.
getUpdatableAttributes()  : array<string|int, mixed>
Returns the updatable attributes.
isPartial()  : bool
Whether the part is considered partial i.e. missing information which can be fetched from Discord.
jsonSerialize()  : array<string|int, mixed>
Provides data when the part is encoded into JSON. Used for JsonSerializable.
offsetExists()  : bool
Checks if an attribute exists via key. Used for ArrayAccess.
offsetGet()  : mixed
Gets an attribute via key. Used for ArrayAccess.
offsetSet()  : void
Sets an attribute via key. Used for ArrayAccess.
offsetUnset()  : void
Unsets an attribute via key. Used for ArrayAccess.
serialize()  : string|null
Serializes the data. Used for Serializable.
unserialize()  : void
Unserializes some data and stores it. Used for Serializable.
afterConstruct()  : void
Called after the part has been constructed.
getCoverImageHashAttribute()  : string|null
Returns the application cover image attribute.
getIconHashAttribute()  : string|null
Returns the application icon attribute.
getOwnerAttribute()  : User|null
Returns the owner of the application.
checkForMutator()  : string|false
Checks if there is a mutator present.
getAttribute()  : mixed
Gets an attribute on the part.
setAttribute()  : void
Sets an attribute on the part.
studly()  : string
Converts a string to studlyCase.

Constants

APPLICATION_COMMAND_BADGE

public mixed APPLICATION_COMMAND_BADGE = 1 << 23

GATEWAY_GUILD_MEMBERS

public mixed GATEWAY_GUILD_MEMBERS = 1 << 14

GATEWAY_GUILD_MEMBERS_LIMITED

public mixed GATEWAY_GUILD_MEMBERS_LIMITED = 1 << 15

GATEWAY_MESSAGE_CONTENT

public mixed GATEWAY_MESSAGE_CONTENT = 1 << 18

GATEWAY_MESSAGE_CONTENT_LIMITED

public mixed GATEWAY_MESSAGE_CONTENT_LIMITED = 1 << 19

GATEWAY_PRESENCE

public mixed GATEWAY_PRESENCE = 1 << 12

GATEWAY_PRESENCE_LIMITED

public mixed GATEWAY_PRESENCE_LIMITED = 1 << 13

VERIFICATION_PENDING_GUILD_LIMIT

public mixed VERIFICATION_PENDING_GUILD_LIMIT = 1 << 16

Properties

$bot_public

public bool $bot_public

When false only app owner can join the app's bot to guilds.

$bot_require_code_grant

public bool $bot_require_code_grant

When true the app's bot will only join upon completion of the full oauth2 code grant flow.

$cover_image

public string|null $cover_image

The application's default rich presence invite cover image URL.

$cover_image_hash

public string|null $cover_image_hash

The application's default rich presence invite cover image hash.

$created

Is the part already created in the Discord servers?

public bool $created = false

Whether the part has been created.

$custom_install_url

public string|null $custom_install_url

The application's default custom authorization link, if enabled.

$description

public string $description

The description of the OAuth application.

$flags

public int $flags

The application's public flags.

$guild_id

public string|null $guild_id

If this application is a game sold on Discord, this field will be the guild to which it has been linked.

$icon

public string|null $icon

The icon URL of the OAuth application.

$icon_hash

public string $icon_hash

The icon hash of the OAuth application.

$id

public string $id

The client ID of the OAuth application.

$install_params

public object|null $install_params

Settings for the application's default in-app authorization link, if enabled.

$invite_url

public string $invite_url

The invite URL to invite the bot to a guild.

$name

public string $name

The name of the OAuth application.

$primary_sku_id

public string|null $primary_sku_id

If this application is a game sold on Discord, this field will be the id of the "Game SKU" that is created, if exists.

$privacy_policy_url

public string|null $privacy_policy_url

The url of the app's privacy policy

$role_connections_verification_url

public string|null $role_connections_verification_url

The application's role connection verification entry point, which when configured will render the app as a verification method in the guild role verification configuration.

$rpc_origins

public array<string|int, string> $rpc_origins

An array of RPC origin URLs.

$scriptData

Custom script data.

public mixed $scriptData

Used for storing custom information, used by end products.

Tags
deprecated
10.0.0

Relying on this variable with dynamic caching is discouraged.

$slug

public string|null $slug

If this application is a game sold on Discord, this field will be the URL slug that links to the store page.

$tags

public array<string|int, string>|null $tags

Up to 5 tags describing the content and functionality of the application.

$team

public object|null $team

If the application belongs to a team, this will be a list of the members of that team.

$terms_of_service_url

public string|null $terms_of_service_url

The url of the app's terms of service.

$verify_key

public string $verify_key

The hex encoded key for verification in interactions and the GameSDK's GetTicket.

$attributes

The parts attributes.

protected array<string|int, mixed> $attributes = []

The parts attributes and content.

$discord

The Discord client.

protected Discord $discord

Client.

$fillable

The parts fillable attributes.

protected array<string|int, mixed> $fillable = ['bot_public', 'bot_require_code_grant', 'cover_image', 'description', 'guild_id', 'icon', 'id', 'name', 'owner', 'primary_sku_id', 'slug', 'team', 'verify_key', 'rpc_origins', 'terms_of_service_url', 'privacy_policy_url', 'flags', 'tags', 'install_params', 'custom_install_url', 'role_connections_verification_url']

The array of attributes that can be mass-assigned.

$hidden

Attributes that are hidden from debug info.

protected array<string|int, mixed> $hidden = []

Attributes that are hidden from public.

$http

The HTTP client.

protected Http $http

Client.

$repositories

An array of repositories that can exist in a part.

protected array<string|int, mixed> $repositories = ['commands' => \Discord\Repository\Interaction\GlobalCommandRepository::class]

Repositories.

$repositories_cache

An array of repositories.

protected array<string|int, mixed> $repositories_cache = []

$visible

Attributes which are visible from debug info.

protected array<string|int, mixed> $visible = []

Methods

__construct()

Create a new part instance.

public __construct(Discord $discord[, array<string|int, mixed> $attributes = [] ][, bool $created = false ]) : mixed
Parameters
$discord : Discord

The Discord client.

$attributes : array<string|int, mixed> = []

An array of attributes to build the part.

$created : bool = false

Whether the part has already been created.

Return values
mixed

__debugInfo()

Handles debug calls from var_dump and similar functions.

public __debugInfo() : array<string|int, mixed>
Tags
throws
Exception
see
Part::getPublicAttributes()

This function forwards onto getPublicAttributes.

Return values
array<string|int, mixed>

An array of public attributes.

__get()

Handles dynamic get calls onto the part.

public __get(string $key) : mixed
Parameters
$key : string

The attributes key.

Tags
throws
Exception
see
Part::getAttribute()

This function forwards onto getAttribute.

Return values
mixed

The value of the attribute.

__serialize()

public __serialize() : array<string|int, mixed>
Return values
array<string|int, mixed>

__set()

Handles dynamic set calls onto the part.

public __set(string $key, mixed $value) : void
Parameters
$key : string

The attributes key.

$value : mixed

The attributes value.

Tags
see
self::setAttribute()

This function forwards onto setAttribute.

Return values
void

__toString()

Converts the part to a string.

public __toString() : string
Tags
throws
Exception
see
Part::getPublicAttributes()

This function encodes getPublicAttributes into JSON.

Return values
string

A JSON string of attributes.

__unserialize()

public __unserialize(array<string|int, mixed> $data) : void
Parameters
$data : array<string|int, mixed>
Return values
void

fetch()

Fetches any missing information about the part from Discord's servers.

public fetch() : ExtendedPromiseInterface<string|int, self>
Tags
throws
RuntimeException

The part is not fetchable.

Return values
ExtendedPromiseInterface<string|int, self>

fill()

Fills the parts attributes from an array.

public fill(array<string|int, mixed> $attributes) : void
Parameters
$attributes : array<string|int, mixed>

An array of attributes to build the part.

Return values
void

getCoverImageAttribute()

Returns the application cover image.

public getCoverImageAttribute([string|null $format = 'webp' ][, int $size = 1024 ]) : string|null
Parameters
$format : string|null = 'webp'

The image format.

$size : int = 1024

The size of the image.

Return values
string|null

The URL to the application cover image or null.

getCreatableAttributes()

Returns the attributes needed to create.

public getCreatableAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>

getIconAttribute()

Returns the application icon.

public getIconAttribute([string|null $format = 'webp' ][, int $size = 1024 ]) : string|null
Parameters
$format : string|null = 'webp'

The image format.

$size : int = 1024

The size of the image.

Return values
string|null

The URL to the application icon or null.

getInviteURLAttribute()

Returns the invite URL for the application.

public getInviteURLAttribute(Permission|int $permissions) : string
Parameters
$permissions : Permission|int

Permissions to set.

Return values
string

Invite URL.

getPublicAttributes()

Returns an array of public attributes.

public getPublicAttributes() : array<string|int, mixed>
Tags
throws
Exception
Return values
array<string|int, mixed>

An array of public attributes.

getRawAttributes()

Returns an array of raw attributes.

public getRawAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>

Raw attributes.

getRepositoryAttributes()

Gets the attributes to pass to repositories.

public getRepositoryAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>

Attributes.

getUpdatableAttributes()

Returns the updatable attributes.

public getUpdatableAttributes() : array<string|int, mixed>
Return values
array<string|int, mixed>

isPartial()

Whether the part is considered partial i.e. missing information which can be fetched from Discord.

public isPartial() : bool
Return values
bool

jsonSerialize()

Provides data when the part is encoded into JSON. Used for JsonSerializable.

public jsonSerialize() : array<string|int, mixed>
Tags
throws
Exception
see
Part::getPublicAttributes()

This function forwards onto getPublicAttributes.

Return values
array<string|int, mixed>

An array of public attributes.

offsetExists()

Checks if an attribute exists via key. Used for ArrayAccess.

public offsetExists(string $key) : bool
Parameters
$key : string

The attribute key.

Return values
bool

Whether the offset exists.

offsetGet()

Gets an attribute via key. Used for ArrayAccess.

public offsetGet(string $key) : mixed
Parameters
$key : string

The attribute key.

Tags
throws
Exception
see
Part::getAttribute()

This function forwards onto getAttribute.

Return values
mixed

offsetSet()

Sets an attribute via key. Used for ArrayAccess.

public offsetSet(string $key, mixed $value) : void
Parameters
$key : string

The attribute key.

$value : mixed

The attribute value.

Tags
see
Part::setAttribute()

This function forwards onto setAttribute.

Return values
void

offsetUnset()

Unsets an attribute via key. Used for ArrayAccess.

public offsetUnset(string $key) : void
Parameters
$key : string

The attribute key.

Return values
void

serialize()

Serializes the data. Used for Serializable.

public serialize() : string|null
Return values
string|null

A string of serialized data.

unserialize()

Unserializes some data and stores it. Used for Serializable.

public unserialize(string $data) : void
Parameters
$data : string

Some serialized data.

Tags
see
Part::setAttribute()

The unserialized data is stored with setAttribute.

Return values
void

afterConstruct()

Called after the part has been constructed.

protected afterConstruct() : void
Return values
void

getCoverImageHashAttribute()

Returns the application cover image attribute.

protected getCoverImageHashAttribute() : string|null
Return values
string|null

The application cover image hash or null.

getIconHashAttribute()

Returns the application icon attribute.

protected getIconHashAttribute() : string|null
Return values
string|null

The application icon hash or null.

getOwnerAttribute()

Returns the owner of the application.

protected getOwnerAttribute() : User|null
Return values
User|null

Owner of the application.

checkForMutator()

Checks if there is a mutator present.

private checkForMutator(string $key, string $type) : string|false
Parameters
$key : string

The attribute name to check.

$type : string

Either get or set.

Return values
string|false

Either a string if it is callable or false.

getAttribute()

Gets an attribute on the part.

private getAttribute(string $key) : mixed
Parameters
$key : string

The key to the attribute.

Tags
throws
Exception
Return values
mixed

Either the attribute if it exists or void.

setAttribute()

Sets an attribute on the part.

private setAttribute(string $key, mixed $value) : void
Parameters
$key : string

The key to the attribute.

$value : mixed

The value of the attribute.

Return values
void

studly()

Converts a string to studlyCase.

private static studly(string $string) : string

This is a port of updated Laravel's implementation, a non-regex with static cache. The Discord\studly() is kept due to unintended bug and we do not want to introduce BC by replacing it. This method is private static as we may move it outside this class in future.

Parameters
$string : string

The string to convert.

Tags
since
10.0.0
Return values
string

Search results