line_bot_messaging_api/entity/message/
sticker.rs1use 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}