slack_morphism/api/
bots.rs

1//!
2//! Support for Slack Bots API methods
3//!
4
5use rsb_derive::Builder;
6use serde::{Deserialize, Serialize};
7use serde_with::skip_serializing_none;
8
9use crate::ratectl::SLACK_TIER3_METHOD_CONFIG;
10use crate::SlackClientSession;
11use crate::*;
12use crate::{ClientResult, SlackClientHttpConnector};
13
14impl<'a, SCHC> SlackClientSession<'a, SCHC>
15where
16    SCHC: SlackClientHttpConnector + Send,
17{
18    ///
19    /// https://api.slack.com/methods/bots.info
20    ///
21    pub async fn bots_info(
22        &self,
23        req: &SlackApiBotsInfoRequest,
24    ) -> ClientResult<SlackApiBotsInfoResponse> {
25        self.http_session_api
26            .http_get(
27                "bots.info",
28                &vec![("bot", req.bot.as_ref())],
29                Some(&SLACK_TIER3_METHOD_CONFIG),
30            )
31            .await
32    }
33}
34
35#[skip_serializing_none]
36#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
37pub struct SlackApiBotsInfoRequest {
38    pub bot: Option<String>,
39}
40
41#[skip_serializing_none]
42#[derive(Debug, PartialEq, Clone, Serialize, Deserialize, Builder)]
43pub struct SlackApiBotsInfoResponse {
44    pub bot: SlackBotInfo,
45}