DiscordPHP Documentation

File extends Content
in package
implements ComponentV2

File components allow you to send a file. You can also spoiler it.

Tags
link
https://discord.com/developers/docs/interactions/message-components#file
since
10.5.0
@property

?int|null $id Optional identifier for component

@property

?bool|null $spoiler Whether the media should be a spoiler (blurred out). Defaults to false

Table of Contents

Interfaces

ComponentV2
This interface is a contract for V2 components.

Constants

TYPE_ACTION_ROW  = 1
Container to display a row of interactive components.
TYPE_BUTTON  = 2
Button object.
TYPE_CHANNEL_SELECT  = 8
Select menu for channels.
TYPE_CHECKPOINT_CARD  = 20
Undocumented.
TYPE_CONTAINER  = 17
Container that visually groups a set of components.
TYPE_CONTENT_INVENTORY_ENTRY  = 16
Undocumented.
TYPE_FILE  = 13
Displays an attached file.
TYPE_FILE_UPLOAD  = 19
Component for uploading files.
TYPE_LABEL  = 18
Container associating a label and description with a component.
TYPE_MEDIA_GALLERY  = 12
Display images and other media.
TYPE_MENTIONABLE_SELECT  = 7
Select menu for mentionables (users and roles).
TYPE_ROLE_SELECT  = 6
Select menu for roles.
TYPE_SECTION  = 9
Container to display text alongside an accessory component.
TYPE_SELECT_MENU  = 3
TYPE_SEPARATOR  = 14
Component to add vertical padding between other components.
TYPE_STRING_SELECT  = 3
Select menu for picking from defined text options.
TYPE_TEXT_DISPLAY  = 10
Markdown text.
TYPE_TEXT_INPUT  = 4
Text input object.
TYPE_THUMBNAIL  = 11
Small image that can be used as an accessory.
TYPE_USER_SELECT  = 5
Select menu for users.
USAGE  = ['Message']

Properties

$file  : array<string|int, mixed>
The file to be displayed.
$id  : int|null
32 bit integer used as an optional identifier for component.
$spoiler  : bool|null
Whether the file is a spoiler.
$type  : int
Component type.

Methods

__get()  : mixed
Handles dynamic get calls onto the part.
__set()  : void
Handles dynamic set calls onto the part.
fromPart()  : self
Creates a new instance of the builder from a given Part.
getCustomId()  : string|null
Returns the custom ID of the button.
getFile()  : array<string|int, mixed>
Returns the file reference.
getType()  : int
Retrieves the type of the component.
isSpoiler()  : bool
Returns whether the file is a spoiler.
jsonSerialize()  : array<string|int, mixed>
new()  : self
Creates a new file component.
setFile()  : $this
Sets the file to be displayed.
setSpoiler()  : $this
Sets whether the file is a spoiler.
checkForGetMutator()  : string|false
Checks if there is a get mutator present.
checkForSetMutator()  : string|false
Checks if there is a set mutator present.
generateUuid()  : string
Generates a UUID which can be used for component custom IDs.
getId()  : int|null
The id field is optional and is used to identify components in the response from an interaction that aren't interactive components.
getProperty()  : mixed
Gets a property on the parent part.
setId()  : self
The id field is optional and is used to identify components in the response from an interaction. The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id that exists in the message if you have one defined for another component. Sending components with an id of 0 is allowed but will be treated as empty and replaced by the API. 32 bit integer used as an optional identifier for component.
setProperty()  : void
Sets an property on the parent part.
studly()  : string
Converts a string to studlyCase.

Constants

TYPE_ACTION_ROW

Container to display a row of interactive components.

public mixed TYPE_ACTION_ROW = 1

TYPE_BUTTON

Button object.

public mixed TYPE_BUTTON = 2

TYPE_CHANNEL_SELECT

Select menu for channels.

public mixed TYPE_CHANNEL_SELECT = 8

TYPE_CHECKPOINT_CARD

Undocumented.

public mixed TYPE_CHECKPOINT_CARD = 20

TYPE_CONTAINER

Container that visually groups a set of components.

public mixed TYPE_CONTAINER = 17

TYPE_CONTENT_INVENTORY_ENTRY

Undocumented.

public mixed TYPE_CONTENT_INVENTORY_ENTRY = 16

TYPE_FILE

Displays an attached file.

public mixed TYPE_FILE = 13

TYPE_FILE_UPLOAD

Component for uploading files.

public mixed TYPE_FILE_UPLOAD = 19

TYPE_LABEL

Container associating a label and description with a component.

public mixed TYPE_LABEL = 18

Display images and other media.

public mixed TYPE_MEDIA_GALLERY = 12

TYPE_MENTIONABLE_SELECT

Select menu for mentionables (users and roles).

public mixed TYPE_MENTIONABLE_SELECT = 7

TYPE_ROLE_SELECT

Select menu for roles.

public mixed TYPE_ROLE_SELECT = 6

TYPE_SECTION

Container to display text alongside an accessory component.

public mixed TYPE_SECTION = 9

TYPE_SELECT_MENU

Use Component::TYPE_STRING_SELECT

public mixed TYPE_SELECT_MENU = 3

TYPE_SEPARATOR

Component to add vertical padding between other components.

public mixed TYPE_SEPARATOR = 14

TYPE_STRING_SELECT

Select menu for picking from defined text options.

public mixed TYPE_STRING_SELECT = 3

TYPE_TEXT_DISPLAY

Markdown text.

public mixed TYPE_TEXT_DISPLAY = 10

TYPE_TEXT_INPUT

Text input object.

public mixed TYPE_TEXT_INPUT = 4

TYPE_THUMBNAIL

Small image that can be used as an accessory.

public mixed TYPE_THUMBNAIL = 11

TYPE_USER_SELECT

Select menu for users.

public mixed TYPE_USER_SELECT = 5

USAGE

public mixed USAGE = ['Message']

Properties

$file

The file to be displayed.

protected array<string|int, mixed> $file

$id

32 bit integer used as an optional identifier for component.

protected int|null $id

$spoiler

Whether the file is a spoiler.

protected bool|null $spoiler

$type

Component type.

protected int $type = \Discord\Builders\Components\Component::TYPE_FILE

Methods

__get()

Handles dynamic get calls onto the part.

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

The attributes key.

Tags
throws
Exception
see
self::getAttribute()

This function forwards onto getAttribute.

Return values
mixed

The value of the attribute.

__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.

fromPart()

Creates a new instance of the builder from a given Part.

public static fromPart(Part $part) : self
Parameters
$part : Part
Return values
self

getCustomId()

Returns the custom ID of the button.

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

getFile()

Returns the file reference.

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

getType()

Retrieves the type of the component.

public getType() : int
Return values
int

isSpoiler()

Returns whether the file is a spoiler.

public isSpoiler() : bool
Return values
bool

jsonSerialize()

public jsonSerialize() : array<string|int, mixed>
Tags
inheritDoc
Return values
array<string|int, mixed>

new()

Creates a new file component.

public static new([string|Attachment|null $filename = null ]) : self
Parameters
$filename : string|Attachment|null = null

The filename or attachment to reference.

Return values
self

setFile()

Sets the file to be displayed.

public setFile(Attachment|string $filename) : $this
Parameters
$filename : Attachment|string

The filename or attachment to reference.

Return values
$this

setSpoiler()

Sets whether the file is a spoiler.

public setSpoiler([bool|null $spoiler = true ]) : $this
Parameters
$spoiler : bool|null = true

Whether the file is a spoiler.

Return values
$this

checkForGetMutator()

Checks if there is a get mutator present.

protected checkForGetMutator(string $key) : string|false
Parameters
$key : string

The property name to check.

Return values
string|false

Either a string if it is a method or false.

checkForSetMutator()

Checks if there is a set mutator present.

protected checkForSetMutator(string $key) : string|false
Parameters
$key : string

The property name to check.

Return values
string|false

Either a string if it is a method or false.

generateUuid()

Generates a UUID which can be used for component custom IDs.

protected static generateUuid() : string
Return values
string

getId()

The id field is optional and is used to identify components in the response from an interaction that aren't interactive components.

protected getId() : int|null

The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id that exists in the message if you have one defined for another component.

Return values
int|null

getProperty()

Gets a property on the parent part.

protected getProperty(string $key) : mixed
Parameters
$key : string

The name of the property.

Tags
throws
Exception
Return values
mixed

Either the property if it exists or void.

setId()

The id field is optional and is used to identify components in the response from an interaction. The id must be unique within the message and is generated sequentially if left empty. Generation of ids won't use another id that exists in the message if you have one defined for another component. Sending components with an id of 0 is allowed but will be treated as empty and replaced by the API. 32 bit integer used as an optional identifier for component.

protected setId([string|null $id = null ]) : self
Parameters
$id : string|null = null

32 bit integer used as an optional identifier for component.

Return values
self

setProperty()

Sets an property on the parent part.

protected setProperty(string $key, mixed $value) : void
Parameters
$key : string

The name of the property.

$value : mixed

The value of the property.

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. 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

        
On this page

Search results