telegram_bot_raw/requests/
get_chat_members_count.rs

1use crate::requests::*;
2use crate::types::*;
3
4/// Use this method to get the number of members in a chat.
5#[derive(Debug, Clone, PartialEq, PartialOrd, Serialize)]
6#[must_use = "requests do nothing unless sent"]
7pub struct GetChatMembersCount {
8    chat_id: ChatRef,
9}
10
11impl Request for GetChatMembersCount {
12    type Type = JsonRequestType<Self>;
13    type Response = JsonIdResponse<Integer>;
14
15    fn serialize(&self) -> Result<HttpRequest, Error> {
16        Self::Type::serialize(RequestUrl::method("getChatMembersCount"), self)
17    }
18}
19
20impl GetChatMembersCount {
21    pub fn new<C>(chat: C) -> Self
22    where
23        C: ToChatRef,
24    {
25        GetChatMembersCount {
26            chat_id: chat.to_chat_ref(),
27        }
28    }
29}
30
31/// Get the number of members in a chat.
32pub trait CanGetChatMembersCount {
33    fn get_members_count(&self) -> GetChatMembersCount;
34}
35
36impl<C> CanGetChatMembersCount for C
37where
38    C: ToChatRef,
39{
40    fn get_members_count(&self) -> GetChatMembersCount {
41        GetChatMembersCount::new(self)
42    }
43}