webhook_line/models/
text_message_content.rs

1/*
2 * Webhook Type Definition
3 *
4 * Webhook event definition of the LINE Messaging API
5 *
6 * The version of the OpenAPI document: 1.0.0
7 *
8 * Generated by: https://openapi-generator.tech
9 */
10
11use crate::models;
12use serde::{Deserialize, Serialize};
13
14#[derive(Clone, Default, Debug, PartialEq, Serialize, Deserialize)]
15pub struct TextMessageContent {
16    /// Type
17    #[serde(rename = "type", skip_serializing_if = "Option::is_none")]
18    pub r#type: Option<String>,
19    /// Message ID
20    #[serde(rename = "id")]
21    pub id: String,
22    /// Message text.
23    #[serde(rename = "text")]
24    pub text: String,
25    /// Array of one or more LINE emoji objects. Only included in the message event when the text property contains a LINE emoji.
26    #[serde(rename = "emojis", skip_serializing_if = "Option::is_none")]
27    pub emojis: Option<Vec<models::Emoji>>,
28    #[serde(rename = "mention", skip_serializing_if = "Option::is_none")]
29    pub mention: Option<Box<models::Mention>>,
30    /// Quote token to quote this message.
31    #[serde(rename = "quoteToken")]
32    pub quote_token: String,
33    /// Message ID of a quoted message. Only included when the received message quotes a past message.
34    #[serde(rename = "quotedMessageId", skip_serializing_if = "Option::is_none")]
35    pub quoted_message_id: Option<String>,
36}
37
38impl TextMessageContent {
39    pub fn new(
40        r#type: String,
41        id: String,
42        text: String,
43        quote_token: String,
44    ) -> TextMessageContent {
45        TextMessageContent {
46            r#type: Some(r#type),
47            id,
48            text,
49            emojis: None,
50            mention: None,
51            quote_token,
52            quoted_message_id: None,
53        }
54    }
55}