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 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more