Struct serenity::model::channel::PrivateChannel [−][src]
pub struct PrivateChannel { pub id: ChannelId, pub last_message_id: Option<MessageId>, pub last_pin_timestamp: Option<DateTime<FixedOffset>>, pub kind: ChannelType, pub recipient: Arc<RwLock<User>>, }
A Direct Message text channel with another user.
Fields
id: ChannelId
The unique Id of the private channel.
Can be used to calculate the first message's creation date.
last_message_id: Option<MessageId>
The Id of the last message sent.
last_pin_timestamp: Option<DateTime<FixedOffset>>
Timestamp of the last time a Message
was pinned.
kind: ChannelType
Indicator of the type of channel this is.
This should always be ChannelType::Private
.
recipient: Arc<RwLock<User>>
The recipient to the private channel.
Methods
impl PrivateChannel
[src]
impl PrivateChannel
pub fn broadcast_typing(&self) -> Result<()>
[src]
pub fn broadcast_typing(&self) -> Result<()>
Broadcasts that the current user is typing to the recipient.
pub fn create_reaction<M, R>(
&self,
message_id: M,
reaction_type: R
) -> Result<()> where
M: Into<MessageId>,
R: Into<ReactionType>,
[src]
pub fn create_reaction<M, R>(
&self,
message_id: M,
reaction_type: R
) -> Result<()> where
M: Into<MessageId>,
R: Into<ReactionType>,
React to a Message
with a custom Emoji
or unicode character.
Message::react
may be a more suited method of reacting in most
cases.
Requires the Add Reactions permission, if the current user is the first user to perform a react with a certain emoji.
pub fn delete(&self) -> Result<Channel>
[src]
pub fn delete(&self) -> Result<Channel>
Deletes the channel. This does not delete the contents of the channel, and is equivalent to closing a private channel on the client, which can be re-opened.
pub fn delete_messages<T: AsRef<MessageId>, It: IntoIterator<Item = T>>(
&self,
message_ids: It
) -> Result<()>
[src]
pub fn delete_messages<T: AsRef<MessageId>, It: IntoIterator<Item = T>>(
&self,
message_ids: It
) -> Result<()>
Deletes all messages by Ids from the given vector in the channel.
Refer to Channel::delete_messages
for more information.
Requires the Manage Messages permission.
Note: Messages that are older than 2 weeks can't be deleted using this method.
Errors
Returns ModelError::BulkDeleteAmount
if an attempt was made to
delete either 0 or more than 100 messages.
pub fn delete_permission(
&self,
permission_type: PermissionOverwriteType
) -> Result<()>
[src]
pub fn delete_permission(
&self,
permission_type: PermissionOverwriteType
) -> Result<()>
Deletes all permission overrides in the channel from a member or role.
Note: Requires the Manage Channel permission.
pub fn delete_reaction<M, R>(
&self,
message_id: M,
user_id: Option<UserId>,
reaction_type: R
) -> Result<()> where
M: Into<MessageId>,
R: Into<ReactionType>,
[src]
pub fn delete_reaction<M, R>(
&self,
message_id: M,
user_id: Option<UserId>,
reaction_type: R
) -> Result<()> where
M: Into<MessageId>,
R: Into<ReactionType>,
Deletes the given Reaction
from the channel.
Note: Requires the Manage Messages permission, if the current user did not perform the reaction.
pub fn edit_message<F, M>(&self, message_id: M, f: F) -> Result<Message> where
F: FnOnce(EditMessage) -> EditMessage,
M: Into<MessageId>,
[src]
pub fn edit_message<F, M>(&self, message_id: M, f: F) -> Result<Message> where
F: FnOnce(EditMessage) -> EditMessage,
M: Into<MessageId>,
Edits a Message
in the channel given its Id.
Message editing preserves all unchanged message data.
Refer to the documentation for EditMessage
for more information
regarding message restrictions and requirements.
Note: Requires that the current user be the author of the message.
Errors
Returns a ModelError::MessageTooLong
if the content of the message
is over the the limit
, containing the number of unicode code points
over the limit.
pub fn is_nsfw(&self) -> bool
[src]
pub fn is_nsfw(&self) -> bool
Determines if the channel is NSFW.
Refer to utils::is_nsfw
for more details.
Note: This method is for consistency. This will always return
false
, due to DMs not being considered NSFW.
pub fn message<M: Into<MessageId>>(&self, message_id: M) -> Result<Message>
[src]
pub fn message<M: Into<MessageId>>(&self, message_id: M) -> Result<Message>
Gets a message from the channel.
Requires the Read Message History permission.
pub fn messages<F>(&self, f: F) -> Result<Vec<Message>> where
F: FnOnce(GetMessages) -> GetMessages,
[src]
pub fn messages<F>(&self, f: F) -> Result<Vec<Message>> where
F: FnOnce(GetMessages) -> GetMessages,
Gets messages from the channel.
Refer to Channel::messages
for more information.
Requires the Read Message History permission.
pub fn name(&self) -> String
[src]
pub fn name(&self) -> String
Returns "DM with $username#discriminator".
pub fn reaction_users<M, R, U>(
&self,
message_id: M,
reaction_type: R,
limit: Option<u8>,
after: U
) -> Result<Vec<User>> where
M: Into<MessageId>,
R: Into<ReactionType>,
U: Into<Option<UserId>>,
[src]
pub fn reaction_users<M, R, U>(
&self,
message_id: M,
reaction_type: R,
limit: Option<u8>,
after: U
) -> Result<Vec<User>> where
M: Into<MessageId>,
R: Into<ReactionType>,
U: Into<Option<UserId>>,
Gets the list of User
s who have reacted to a Message
with a
certain Emoji
.
Refer to Channel::reaction_users
for more information.
Note: Requires the Read Message History permission.
pub fn pin<M: Into<MessageId>>(&self, message_id: M) -> Result<()>
[src]
pub fn pin<M: Into<MessageId>>(&self, message_id: M) -> Result<()>
Pins a Message
to the channel.
pub fn pins(&self) -> Result<Vec<Message>>
[src]
pub fn pins(&self) -> Result<Vec<Message>>
Retrieves the list of messages that have been pinned in the private channel.
pub fn say<D: Display>(&self, content: D) -> Result<Message>
[src]
pub fn say<D: Display>(&self, content: D) -> Result<Message>
Sends a message with just the given message content in the channel.
Errors
Returns a ModelError::MessageTooLong
if the content of the message
is over the above limit, containing the number of unicode code points
over the limit.
pub fn send_files<'a, F, T, It: IntoIterator<Item = T>>(
&self,
files: It,
f: F
) -> Result<Message> where
F: FnOnce(CreateMessage) -> CreateMessage,
T: Into<AttachmentType<'a>>,
[src]
pub fn send_files<'a, F, T, It: IntoIterator<Item = T>>(
&self,
files: It,
f: F
) -> Result<Message> where
F: FnOnce(CreateMessage) -> CreateMessage,
T: Into<AttachmentType<'a>>,
Sends (a) file(s) along with optional message contents.
Refer to ChannelId::send_files
for examples and more information.
The Attach Files and Send Messages permissions are required.
Note: Message contents must be under 2000 unicode code points.
Errors
If the content of the message is over the above limit, then a
ClientError::MessageTooLong
will be returned, containing the number
of unicode code points over the limit.
pub fn send_message<F: FnOnce(CreateMessage) -> CreateMessage>(
&self,
f: F
) -> Result<Message>
[src]
pub fn send_message<F: FnOnce(CreateMessage) -> CreateMessage>(
&self,
f: F
) -> Result<Message>
Sends a message to the channel with the given content.
Refer to the documentation for CreateMessage
for more information
regarding message restrictions and requirements.
Errors
Returns a ModelError::MessageTooLong
if the content of the message
is over the above limit, containing the number of unicode code points
over the limit.
pub fn unpin<M: Into<MessageId>>(&self, message_id: M) -> Result<()>
[src]
pub fn unpin<M: Into<MessageId>>(&self, message_id: M) -> Result<()>
Unpins a Message
in the channel given by its Id.
Requires the Manage Messages permission.
Trait Implementations
impl From<PrivateChannel> for ChannelId
[src]
impl From<PrivateChannel> for ChannelId
fn from(private_channel: PrivateChannel) -> ChannelId
[src]
fn from(private_channel: PrivateChannel) -> ChannelId
Gets the Id of a private channel.
impl<'a> From<&'a PrivateChannel> for ChannelId
[src]
impl<'a> From<&'a PrivateChannel> for ChannelId
fn from(private_channel: &PrivateChannel) -> ChannelId
[src]
fn from(private_channel: &PrivateChannel) -> ChannelId
Gets the Id of a private channel.
impl Clone for PrivateChannel
[src]
impl Clone for PrivateChannel
fn clone(&self) -> PrivateChannel
[src]
fn clone(&self) -> PrivateChannel
Returns a copy of the value. Read more
fn clone_from(&mut self, source: &Self)
1.0.0[src]
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from source
. Read more
impl Debug for PrivateChannel
[src]
impl Debug for PrivateChannel
fn fmt(&self, f: &mut Formatter) -> Result
[src]
fn fmt(&self, f: &mut Formatter) -> Result
Formats the value using the given formatter. Read more
impl Display for PrivateChannel
[src]
impl Display for PrivateChannel
fn fmt(&self, f: &mut Formatter) -> FmtResult
[src]
fn fmt(&self, f: &mut Formatter) -> FmtResult
Formats the private channel, displaying the recipient's username.
impl Mentionable for PrivateChannel
[src]
impl Mentionable for PrivateChannel
Auto Trait Implementations
impl Send for PrivateChannel
impl Send for PrivateChannel
impl Sync for PrivateChannel
impl Sync for PrivateChannel