Skip to main content

slack_web_api/blocks/
metadata.rs

1use serde::{Deserialize, Serialize};
2
3/// Metadata attached to a message. <https://docs.slack.dev/messaging/message-metadata>
4#[derive(Debug, Clone, PartialEq, Serialize, Deserialize)]
5pub struct MessageMetadata {
6    pub event_type: String,
7    // conversations.history などは include_all_metadata を付けないと event_payload を返さない
8    #[serde(default)]
9    pub event_payload: serde_json::Value,
10}
11
12impl MessageMetadata {
13    pub fn new(event_type: impl Into<String>, event_payload: serde_json::Value) -> Self {
14        Self {
15            event_type: event_type.into(),
16            event_payload,
17        }
18    }
19}