line_bot_messaging_api/entity/message/
sticker.rs

1use crate::message::LineMessageObject;
2use serde_derive::{Deserialize, Serialize};
3use serde_json::json;
4
5#[derive(Debug, Deserialize, Serialize)]
6pub struct LineMessageSticker {
7    #[serde(rename = "type")]
8    message_type: String,
9    #[serde(rename = "packageId")]
10    package_id: String,
11    #[serde(rename = "stickerId")]
12    sticker_id: String,
13    #[serde(rename = "quoteToken")]
14    quote_token: Option<String>,
15}
16
17impl LineMessageSticker {
18    pub fn new<T: ToString, S: ToString>(package_id: T, sticker_id: S) -> LineMessageSticker {
19        LineMessageSticker {
20            message_type: "sticker".to_string(),
21            package_id: package_id.to_string(),
22            sticker_id: sticker_id.to_string(),
23            quote_token: None,
24        }
25    }
26}
27
28impl LineMessageObject for LineMessageSticker {
29    fn build(&self) -> serde_json::Value {
30        json!(self)
31    }
32}