pub struct ConversationFilter { /* private fields */ }Expand description
§Filter for Conversations List
Provides a way to filter the list of options in a conversations select menu 🔗 or conversations multi-select menu 🔗.
Implementations§
Source§impl ConversationFilter
impl ConversationFilter
Sourcepub fn new() -> Self
pub fn new() -> Self
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);Sourcepub fn include_conversation_kinds(
self,
kinds: impl IntoIterator<Item = ConversationKind>,
) -> Self
pub fn include_conversation_kinds( 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);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);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);Sourcepub fn include_bot_users(self) -> Self
pub fn include_bot_users(self) -> Self
Chainable setter method that allows conversations with Bot Users to appear in the conversation select menu.
This is the default behavior.
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);Sourcepub fn exclude_bot_users(self) -> Self
pub fn exclude_bot_users(self) -> Self
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);Sourcepub fn validate(&self) -> Result<(), ValidationErrors>
Available on crate feature validation only.
pub fn validate(&self) -> Result<(), ValidationErrors>
validation only.Validate that this Conversation Filter object agrees with Slack’s model requirements.
This type has runtime checks that prevent it from failing validation.
§Errors
- Never
§Example
use slack_blocks::compose::ConversationFilter;
let filter = ConversationFilter::new().include_conversation_kinds(vec![]);
assert_eq!(false, matches!(filter.validate(), Err(_)));Trait Implementations§
Source§impl Clone for ConversationFilter
impl Clone for ConversationFilter
Source§fn clone(&self) -> ConversationFilter
fn clone(&self) -> ConversationFilter
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for ConversationFilter
impl Debug for ConversationFilter
Source§impl Default for ConversationFilter
impl Default for ConversationFilter
Source§fn default() -> ConversationFilter
fn default() -> ConversationFilter
Source§impl<'de> Deserialize<'de> for ConversationFilter
impl<'de> Deserialize<'de> for ConversationFilter
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Source§impl Hash for ConversationFilter
impl Hash for ConversationFilter
Source§impl PartialEq for ConversationFilter
impl PartialEq for ConversationFilter
Source§fn eq(&self, other: &ConversationFilter) -> bool
fn eq(&self, other: &ConversationFilter) -> bool
self and other values to be equal, and is used by ==.