def get_user_info(self, user_id: str, **kwargs) -> Dict[str, Any]: try: photo_url = None data = apihelper.get_chat_member( self.token, kwargs.get('chat_id') or user_id, user_id ) log.debug(f'User info data={data};') except Exception as err: raise MessengerException(err) try: photos = apihelper.get_user_profile_photos(self.token, user_id) data.update(photos=photos) log.debug(f'User photos={photos};') if photos['total_count'] > 0: photo_url = self.get_file_url(photos['photos'][0][0]['file_id']) data.update(avatar=photo_url, photos=photos) except Exception as err: raise MessengerException(err) return { 'id': data['user']['id'], 'username': data['user']['username'], 'avatar': photo_url, 'info': data }
def get_chat_member(self, chat_id, user_id): """ Use this method to get information about a member of a chat. Returns a ChatMember object on success. :param chat_id: :param user_id: :return: """ result = apihelper.get_chat_member(self.token, chat_id, user_id) return types.ChatMember.de_json(result)