line_bot_messaging_api/api/
bot.rs

1use crate::{LineApiResponse, LineClient};
2use serde_derive::{Deserialize, Serialize};
3use serde_json::json;
4
5impl LineClient {
6    /// https://developers.line.biz/ja/reference/messaging-api/#get-bot-info
7    pub async fn bot_info(&self) -> LineApiResponse<LineApiBotInfoResponse> {
8        self.http_get("https://api.line.me/v2/bot/info", &json!({}))
9            .await
10    }
11}
12
13#[derive(Debug, Default, Deserialize, Serialize, Clone)]
14pub struct LineApiBotInfoResponse {
15    #[serde(rename = "userId")]
16    pub user_id: String,
17    #[serde(rename = "basicId")]
18    pub basic_id: String,
19    #[serde(rename = "premiumId")]
20    #[serde(skip_serializing_if = "Option::is_none")]
21    pub premium_id: Option<String>,
22    #[serde(rename = "displayName")]
23    pub display_name: Option<String>,
24    #[serde(rename = "pictureUrl")]
25    #[serde(skip_serializing_if = "Option::is_none")]
26    pub picture_url: Option<String>,
27    #[serde(rename = "chatMode")]
28    pub chat_mode: String,
29    #[serde(rename = "markAsReadMode")]
30    pub mark_as_read_mode: String,
31}