slack_morphism/models/events/
command.rs

1use rsb_derive::Builder;
2use serde::{Deserialize, Serialize};
3use serde_with::skip_serializing_none;
4
5use crate::*;
6
7#[skip_serializing_none]
8#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
9pub struct SlackCommandEvent {
10    pub team_id: SlackTeamId,
11    pub team_domain: Option<String>,
12    pub channel_id: SlackChannelId,
13    pub channel_name: Option<String>,
14    pub user_id: SlackUserId,
15    pub command: SlackCommandId,
16    pub text: Option<String>,
17    pub response_url: SlackResponseUrl,
18    pub trigger_id: SlackTriggerId,
19}
20
21#[skip_serializing_none]
22#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
23pub struct SlackCommandEventResponse {
24    #[serde(flatten)]
25    pub content: SlackMessageContent,
26    pub response_type: Option<SlackMessageResponseType>,
27}