ChannelTrait
Represents a guild or DM channel within Discord.
Tags
Table of Contents
Properties
- $guild : Guild|null
- $guild_id : string|null
- $id : string
- $is_private : bool
- $last_pin_timestamp : Carbon|null
- $members : MemberRepository
- $messages : MessageRepository
- $owner : User|null
- $owner_id : string|null
- $owner_member : Member|null
- $parent : Channel|null
- $parent_id : string
- $rate_limit_per_user : int|null
- $type : int
Methods
- allowInvite() : bool
- Returns if allow invite.
- allowText() : bool
- Returns if allow text.
- allowVoice() : bool
- Returns if allow voice.
- broadcastTyping() : PromiseInterface
- Broadcasts that you are typing to the channel. Lasts for 5 seconds.
- canInvite() : bool
- Returns if invite can be created in this type of channel.
- createMessageCollector() : PromiseInterface<string|int, Collection<string|int, array<string|int, Message>>>
- Creates a message collector for the channel.
- deleteMessages() : PromiseInterface
- Bulk deletes an array of messages.
- getBotPermissions() : RolePermission|null
- Returns the bot's permissions in the thread.
- getMessageHistory() : PromiseInterface<string|int, Collection<string|int, array<string|int, Message>>>
- Fetches message history.
- getPinnedMessages() : PromiseInterface
- Returns the channels pinned messages.
- isTextBased() : bool
- Returns if channel type is text based.
- isVoiceBased() : bool
- Returns if channel type is voice based.
- pinMessage() : PromiseInterface<string|int, Message>
- Pin a message in a channel.
- sendEmbed() : PromiseInterface<string|int, Message>
- Sends an embed to the channel.
- sendFile() : PromiseInterface<string|int, Message>
- Sends a file to the channel.
- sendMessage() : PromiseInterface<string|int, Message>
- Sends a message to the channel.
- unpinMessage() : PromiseInterface
- Removes a message from the channels pinboard.
- getGuildAttribute() : Guild|null
- Returns the guild which the thread belongs to.
- getIsPrivateAttribute() : bool
- Gets the is_private attribute.
- getLastPinTimestampAttribute() : Carbon|null
- Gets the last pinned message timestamp.
- getOwnerAttribute() : User|null
- Returns the owner of the thread.
- getOwnerMemberAttribute() : Member|null
- Returns the member object for the owner of the thread.
- getParentAttribute() : Channel|null
- Returns the parent channel of the thread.
Properties
$guild read-only
public
Guild|null
$guild
The guild that the channel or thread belongs to. Only for text or voice channels.
$guild_id
public
string|null
$guild_id
The ID of the guild that the channel or thread belongs to. Only for text or voice channels.
$id
public
string
$id
The ID of the channel or thread.
$is_private
public
bool
$is_private
Whether the channel is a private channel.
$last_pin_timestamp
public
Carbon|null
$last_pin_timestamp
The timestamp when the last message was pinned in the channel or thread.
$members
public
MemberRepository
$members
Voice channel only - members in the channel or thread.
$messages
public
MessageRepository
$messages
Text channel only - messages sent in the channel or thread.
$owner read-only
public
User|null
$owner
The DM creator or the owner of the thread.
$owner_id
public
string|null
$owner_id
The ID of the DM creator (Only for DM or group channels) or the owner of the thread.
$owner_member read-only
public
Member|null
$owner_member
The member object for the DM creator or the owner of the thread.
$parent read-only
public
Channel|null
$parent
The parent channel or the channel which the thread was created in.
$parent_id
public
string
$parent_id
The ID of the parent channel or the channel which the thread was started in.
$rate_limit_per_user
public
int|null
$rate_limit_per_user
Amount of seconds a user has to wait before sending a new message (slow mode).
$type
public
int
$type
The type of channel or thread.
Methods
allowInvite()
Returns if allow invite.
public
allowInvite() : bool
Use Channel::canInvite()
Return values
bool —if we can make invite or not.
allowText()
Returns if allow text.
public
allowText() : bool
Use Channel::isTextBased()
Return values
bool —if we can send text or not.
allowVoice()
Returns if allow voice.
public
allowVoice() : bool
Use Channel::isVoiceBased()
Return values
bool —if we can send voice or not.
broadcastTyping()
Broadcasts that you are typing to the channel. Lasts for 5 seconds.
public
broadcastTyping() : PromiseInterface
Tags
Return values
PromiseInterfacecanInvite()
Returns if invite can be created in this type of channel.
public
canInvite() : bool
Return values
bool —Whether the channel type is possible for creating invite.
createMessageCollector()
Creates a message collector for the channel.
public
createMessageCollector(callable $filter[, int $options = [] ]) : PromiseInterface<string|int, Collection<string|int, array<string|int, Message>>>
Parameters
- $filter : callable
-
The filter function. Returns true or false.
- $options : int = []
-
['limit'] The amount of messages allowed or false.
Return values
PromiseInterface<string|int, Collection<string|int, array<string|int, Message>>>deleteMessages()
Bulk deletes an array of messages.
public
deleteMessages(array<string|int, mixed>|Traversable $messages[, string|null $reason = null ]) : PromiseInterface
Parameters
- $messages : array<string|int, mixed>|Traversable
-
An array of messages to delete.
- $reason : string|null = null
-
Reason for Audit Log (only for bulk messages).
Tags
Return values
PromiseInterfacegetBotPermissions()
Returns the bot's permissions in the thread.
public
getBotPermissions() : RolePermission|null
Return values
RolePermission|nullgetMessageHistory()
Fetches message history.
public
getMessageHistory([int|null $options = [] ]) : PromiseInterface<string|int, Collection<string|int, array<string|int, Message>>>
Parameters
- $options : int|null = []
-
['limit'] Max number of messages to return (1-100). Defaults to 50.
Tags
Return values
PromiseInterface<string|int, Collection<string|int, array<string|int, Message>>>getPinnedMessages()
Returns the channels pinned messages.
public
getPinnedMessages([Message|Carbon|string $options = [] ]) : PromiseInterface
Parameters
- $options : Message|Carbon|string = []
-
['before'] A message or timestamp to get messages before.
Tags
Return values
PromiseInterfaceisTextBased()
Returns if channel type is text based.
public
isTextBased() : bool
Return values
bool —Whether the channel is possible for sending text.
isVoiceBased()
Returns if channel type is voice based.
public
isVoiceBased() : bool
Return values
bool —Whether the channel is possible for voice.
pinMessage()
Pin a message in a channel.
public
pinMessage(Message $message[, string|null $reason = null ]) : PromiseInterface<string|int, Message>
Parameters
- $message : Message
-
The message to pin.
- $reason : string|null = null
-
Reason for Audit Log.
Tags
Return values
PromiseInterface<string|int, Message>sendEmbed()
Sends an embed to the channel.
public
sendEmbed(Embed $embed) : PromiseInterface<string|int, Message>
Use Channel::sendMessage
with MessageBuilder::addEmbed()
Parameters
- $embed : Embed
-
Embed to send.
Tags
Return values
PromiseInterface<string|int, Message>sendFile()
Sends a file to the channel.
public
sendFile(string $filepath[, string|null $filename = null ][, string|null $content = null ][, bool $tts = false ]) : PromiseInterface<string|int, Message>
Use Channel::sendMessage
to send files.
Parameters
- $filepath : string
-
The path to the file to be sent.
- $filename : string|null = null
-
The name to send the file as.
- $content : string|null = null
-
Message content to send with the file.
- $tts : bool = false
-
Whether to send the message with TTS.
Tags
Return values
PromiseInterface<string|int, Message>sendMessage()
Sends a message to the channel.
public
sendMessage(MessageBuilder|string $message[, bool $tts = false ][, Embed|array<string|int, mixed>|null $embed = null ][, AllowedMentions|array<string|int, mixed>|null $allowed_mentions = null ][, Message|null $replyTo = null ]) : PromiseInterface<string|int, Message>
Takes a MessageBuilder
or content of the message for the first
parameter. If the first parameter is an instance of MessageBuilder
, the
rest of the arguments are disregarded.
Parameters
- $message : MessageBuilder|string
-
The message builder that should be converted into a message, or the string content of the message.
- $tts : bool = false
-
Whether the message is TTS.
- $embed : Embed|array<string|int, mixed>|null = null
-
An embed object or array to send in the message.
- $allowed_mentions : AllowedMentions|array<string|int, mixed>|null = null
-
Allowed mentions object for the message.
- $replyTo : Message|null = null
-
Sends the message as a reply to the given message instance.
Tags
Return values
PromiseInterface<string|int, Message>unpinMessage()
Removes a message from the channels pinboard.
public
unpinMessage(Message $message[, string|null $reason = null ]) : PromiseInterface
Parameters
- $message : Message
-
The message to un-pin.
- $reason : string|null = null
-
Reason for Audit Log.
Tags
Return values
PromiseInterfacegetGuildAttribute()
Returns the guild which the thread belongs to.
protected
getGuildAttribute() : Guild|null
Return values
Guild|nullgetIsPrivateAttribute()
Gets the is_private attribute.
protected
getIsPrivateAttribute() : bool
Return values
bool —Whether the channel is private.
getLastPinTimestampAttribute()
Gets the last pinned message timestamp.
protected
getLastPinTimestampAttribute() : Carbon|null
Tags
Return values
Carbon|nullgetOwnerAttribute()
Returns the owner of the thread.
protected
getOwnerAttribute() : User|null
Return values
User|nullgetOwnerMemberAttribute()
Returns the member object for the owner of the thread.
protected
getOwnerMemberAttribute() : Member|null
Return values
Member|nullgetParentAttribute()
Returns the parent channel of the thread.
protected
getParentAttribute() : Channel|null