[−][src]Struct slack_blocks::compose::conversation_filter::ConversationFilter
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]
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]
self,
kinds: impl IntoIterator<Item = ConversationKind>
) -> Self
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 ofConversationKinds, 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]
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]
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]
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]
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]
Validate that this Conversation Filter object agrees with Slack's model requirements
Errors
- If
include_conversation_kindswas 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]
fn clone(&self) -> ConversationFilter[src]
fn clone_from(&mut self, source: &Self)1.0.0[src]
impl Debug for ConversationFilter[src]
impl Default for ConversationFilter[src]
fn default() -> ConversationFilter[src]
impl<'de> Deserialize<'de> for ConversationFilter[src]
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error> where
__D: Deserializer<'de>, [src]
__D: Deserializer<'de>,
impl Hash for ConversationFilter[src]
fn hash<__H: Hasher>(&self, state: &mut __H)[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher, 1.3.0[src]
H: Hasher,
impl PartialEq<ConversationFilter> for ConversationFilter[src]
fn eq(&self, other: &ConversationFilter) -> bool[src]
fn ne(&self, other: &ConversationFilter) -> bool[src]
impl Serialize for ConversationFilter[src]
fn serialize<__S>(&self, __serializer: __S) -> Result<__S::Ok, __S::Error> where
__S: Serializer, [src]
__S: Serializer,
impl StructuralPartialEq for ConversationFilter[src]
impl Validate for ConversationFilter[src]
fn validate(&self) -> Result<(), ValidationErrors>[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> Any for T where
T: 'static + ?Sized, [src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized, [src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized, [src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T[src]
impl<T> DeserializeOwned for T where
T: for<'de> Deserialize<'de>, [src]
T: for<'de> Deserialize<'de>,
impl<T> From<T> for T[src]
impl<T, U> Into<U> for T where
U: From<T>, [src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone, [src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T[src]
fn clone_into(&self, target: &mut T)[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>, [src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>, [src]
U: TryFrom<T>,