Struct slack_blocks::compose::conversation_filter::ConversationFilter [−][src]
pub struct ConversationFilter { /* fields omitted */ }
Filter for Conversations List
Provides a way to filter the list of options in a conversations select menu 🔗 or conversations multi-select menu 🔗.
Implementations
impl ConversationFilter
[src]
impl ConversationFilter
[src]pub fn new() -> Self
[src]
pub fn new() -> Self
[src]Create a Conversation Filter object that allows bot users & all kinds of channels; including cross-org shared channels.
Example
use slack_blocks::compose::ConversationFilter; let filter = ConversationFilter::new(); // TODO: once conversationselect is implemented // let select = ConversationSelect::from_filter(filter);
pub fn include_conversation_kinds(
self,
kinds: impl IntoIterator<Item = ConversationKind>
) -> Self
[src]
pub fn include_conversation_kinds(
self,
kinds: impl IntoIterator<Item = ConversationKind>
) -> Self
[src]Chainable setter method that allows you to restrict the kinds of channels that will appear in the conversation select menu.
For excluding cross-org shared channels, see
exclude_external_shared_channels
.
For excluding DMs with bots, see exclude_bot_users
.
Arguments
kinds
- A non-empty unique collection ofConversationKind
s, that the select options will be restricted to.
Example
use slack_blocks::compose::ConversationFilter; use slack_blocks::compose::conversation_filter::ConversationKind; let filter = ConversationFilter::new() .include_conversation_kinds(vec![ ConversationKind::PublicChannel, ]); // TODO: once conversationselect is implemented // let select = ConversationSelect::from_filter(filter);
pub fn include_external_shared_channels(self) -> Self
[src]
pub fn include_external_shared_channels(self) -> Self
[src]Chainable setter method that allows cross-org shared channels to appear in the conversation select menu.
Note that this setting is the default, and that calling this method is a no-op. It exists purely as declarative sugar for filter construction.
For excluding cross-org shared channels, see
exclude_external_shared_channels
.
Example
use slack_blocks::compose::ConversationFilter; let filter = ConversationFilter::new() .include_external_shared_channels(); // TODO: once conversationselect is implemented // let select = ConversationSelect::from_filter(filter);
pub fn exclude_external_shared_channels(self) -> Self
[src]
pub fn exclude_external_shared_channels(self) -> Self
[src]Chainable setter method that prevents cross-workspace shared channels from appearing in the conversation select menu.
Example
use slack_blocks::compose::ConversationFilter; let filter = ConversationFilter::new() .exclude_external_shared_channels(); // TODO: once conversationselect is implemented // let select = ConversationSelect::from_filter(filter);
pub fn include_bot_users(self) -> Self
[src]
pub fn include_bot_users(self) -> Self
[src]Chainable setter method that allows conversations with Bot Users to appear in the conversation select menu.
Note that this setting is the default, and that calling this method is a no-op. It exists purely as declarative sugar for filter construction.
For excluding bot user DMs, see exclude_bot_users
.
Example
use slack_blocks::compose::ConversationFilter; let filter = ConversationFilter::new() .include_bot_users(); // TODO: once conversationselect is implemented // let select = ConversationSelect::from_filter(filter);
pub fn exclude_bot_users(self) -> Self
[src]
pub fn exclude_bot_users(self) -> Self
[src]Chainable setter method that prevents DMs with Bot users from appearing in the conversation select menu.
Example
use slack_blocks::compose::ConversationFilter; let filter = ConversationFilter::new() .exclude_bot_users(); // TODO: once conversationselect is implemented // let select = ConversationSelect::from_filter(filter);
pub fn validate(&self) -> Result<(), ValidationErrors>
[src]
pub fn validate(&self) -> Result<(), ValidationErrors>
[src]Validate that this Conversation Filter object agrees with Slack’s model requirements
Errors
- If
include_conversation_kinds
was called with an empty collection
Example
use slack_blocks::compose::ConversationFilter; let filter = ConversationFilter::new() .include_conversation_kinds(vec![]); assert_eq!(true, matches!(filter.validate(), Err(_)));
Trait Implementations
impl Clone for ConversationFilter
[src]
impl Clone for ConversationFilter
[src]fn clone(&self) -> ConversationFilter
[src]
fn clone(&self) -> ConversationFilter
[src]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)
1.0.0[src]Performs copy-assignment from source
. Read more
impl Debug for ConversationFilter
[src]
impl Debug for ConversationFilter
[src]impl Default for ConversationFilter
[src]
impl Default for ConversationFilter
[src]fn default() -> ConversationFilter
[src]
fn default() -> ConversationFilter
[src]Returns the “default value” for a type. Read more
impl<'de> Deserialize<'de> for ConversationFilter
[src]
impl<'de> Deserialize<'de> for ConversationFilter
[src]fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>,
[src]Deserialize this value from the given Serde deserializer. Read more
impl Hash for ConversationFilter
[src]
impl Hash for ConversationFilter
[src]impl PartialEq<ConversationFilter> for ConversationFilter
[src]
impl PartialEq<ConversationFilter> for ConversationFilter
[src]fn eq(&self, other: &ConversationFilter) -> bool
[src]
fn eq(&self, other: &ConversationFilter) -> bool
[src]This method tests for self
and other
values to be equal, and is used
by ==
. Read more
fn ne(&self, other: &ConversationFilter) -> bool
[src]
fn ne(&self, other: &ConversationFilter) -> bool
[src]This method tests for !=
.
impl Serialize for ConversationFilter
[src]
impl Serialize for ConversationFilter
[src]impl Validate for ConversationFilter
[src]
impl Validate for ConversationFilter
[src]fn validate(&self) -> Result<(), ValidationErrors>
[src]
impl StructuralPartialEq for ConversationFilter
[src]
Auto Trait Implementations
impl RefUnwindSafe for ConversationFilter
impl Send for ConversationFilter
impl Sync for ConversationFilter
impl Unpin for ConversationFilter
impl UnwindSafe for ConversationFilter
Blanket Implementations
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]pub fn borrow_mut(&mut self) -> &mut T
[src]
pub fn borrow_mut(&mut self) -> &mut T
[src]Mutably borrows from an owned value. Read more
impl<T> ToOwned for T where
T: Clone,
[src]
impl<T> ToOwned for T where
T: Clone,
[src]type Owned = T
type Owned = T
The resulting type after obtaining ownership.
pub fn to_owned(&self) -> T
[src]
pub fn to_owned(&self) -> T
[src]Creates owned data from borrowed data, usually by cloning. Read more
pub fn clone_into(&self, target: &mut T)
[src]
pub fn clone_into(&self, target: &mut T)
[src]🔬 This is a nightly-only experimental API. (toowned_clone_into
)
recently added
Uses borrowed data to replace owned data, usually by cloning. Read more
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>,
[src]
T: for<'de> Deserialize<'de>,