diff --git a/aiogram/api.py b/aiogram/api.py index 8eb4648d..a1303773 100644 --- a/aiogram/api.py +++ b/aiogram/api.py @@ -108,9 +108,9 @@ class ApiMethods: UNBAN_CHAT_MEMBER = 'unbanChatMember' LEAVE_CHAT = 'leaveChat' GET_CHAT = 'getChat' - GET_CHAT_ADMINISTRATORS = 'getChatAdministrators' # TODO - GET_CHAT_MEMBERS_COUNT = 'getChatMembersCount' # TODO - GET_CHAT_MEMBER = 'getChatMember' # TODO + GET_CHAT_ADMINISTRATORS = 'getChatAdministrators' + GET_CHAT_MEMBERS_COUNT = 'getChatMembersCount' + GET_CHAT_MEMBER = 'getChatMember' ANSWER_CALLBACK_QUERY = 'answerCallbackQuery' # TODO EDIT_MESSAGE_TEXT = 'editMessageText' # TODO EDIT_MESSAGE_CAPTION = 'editMessageCaption' # TODO diff --git a/aiogram/bot.py b/aiogram/bot.py index f47e06bd..d03cf16c 100644 --- a/aiogram/bot.py +++ b/aiogram/bot.py @@ -310,3 +310,12 @@ class AIOGramBot: payload = generate_payload(**locals()) raw = await self.request(ApiMethods.GET_CHAT_ADMINISTRATORS, payload) return [self.prepare_object(ChatMember.de_json(raw_chat_member)) for raw_chat_member in raw] + + async def get_chat_members_count(self, chat_id): + payload = generate_payload(**locals()) + return await self.request(ApiMethods.GET_CHAT_MEMBERS_COUNT, payload) + + async def get_chat_member(self, chat_id, user_id): + payload = generate_payload(**locals()) + raw = await self.request(ApiMethods.GET_CHAT_MEMBER, payload) + return self.prepare_object(ChatMember.de_json(raw))