[][src]Struct slack_blocks::blocks::file::Contents

pub struct Contents { /* fields omitted */ }

Implementations

impl Contents[src]

pub fn from_external_id(external_file_id: impl AsRef<str>) -> Self[src]

Create a file block from a remote file 🔗's external ID.

Arguments

  • external_file_id - The external unique ID for this file, which notably is an ID in slack's system that is a reference or hyperlink to your original resource, which is hosted outside of Slack. Slack does not support uploading files to send in a block at this time.

Example

use slack_blocks::blocks;
use slack_blocks::compose;

let file_id = upload_file_to_slack("https://www.cheese.com/cheese-wheel.png");

let block = blocks::file::Contents::from_external_id(file_id);

// < send to slack API >

pub fn with_block_id(self, block_id: impl AsRef<str>) -> Self[src]

Set a unique block_id to identify this instance of an File Block.

Arguments

  • block_id - A string acting as a unique identifier for a block. You can use this block_id when you receive an interaction payload to identify the source of the action 🔗. If not specified, one will be generated. Maximum length for this field is 255 characters. block_id should be unique for each message and each iteration of a message. If a message is updated, use a new block_id.

example

use slack_blocks::blocks;
use slack_blocks::compose;

let file_id = upload_file_to_slack("https://www.cheese.com/cheese-wheel.png");

let block = blocks::file::Contents::from_external_id(file_id)
    .with_block_id("my_file_in_a_block_1234");

// < send to slack API >

pub fn validate(&self) -> ValidationResult[src]

Validate that this File block agrees with Slack's model requirements

Errors

  • If with_block_id was called with a block id longer than 256 chars

Example

use slack_blocks::block_elements::select;
use slack_blocks::blocks;
use slack_blocks::compose;

let long_string = std::iter::repeat(' ').take(256).collect::<String>();

let block = blocks::file
    ::Contents
    ::from_external_id("file_id")
    .with_block_id(long_string);

assert_eq!(true, matches!(block.validate(), Err(_)));

// < send to slack API >

Trait Implementations

impl Clone for Contents[src]

impl Debug for Contents[src]

impl<'de> Deserialize<'de> for Contents[src]

impl Hash for Contents[src]

impl PartialEq<Contents> for Contents[src]

impl Serialize for Contents[src]

impl StructuralPartialEq for Contents[src]

impl Validate for Contents[src]

Auto Trait Implementations

Blanket Implementations

impl<T> Any for T where
    T: 'static + ?Sized
[src]

impl<T> Borrow<T> for T where
    T: ?Sized
[src]

impl<T> BorrowMut<T> for T where
    T: ?Sized
[src]

impl<T> DeserializeOwned for T where
    T: for<'de> Deserialize<'de>, 
[src]

impl<T> From<T> for T[src]

impl<T, U> Into<U> for T where
    U: From<T>, 
[src]

impl<T> ToOwned for T where
    T: Clone
[src]

type Owned = T

The resulting type after obtaining ownership.

impl<T, U> TryFrom<U> for T where
    U: Into<T>, 
[src]

type Error = Infallible

The type returned in the event of a conversion error.

impl<T, U> TryInto<U> for T where
    U: TryFrom<T>, 
[src]

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.