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_user_profile_photos(self, user_id, offset=None, limit=None): """ Retrieves the user profile photos of the person with 'user_id' See https://core.telegram.org/bots/api#getuserprofilephotos :param user_id: :param offset: :param limit: :return: API reply. """ result = apihelper.get_user_profile_photos(self.token, user_id, offset, limit) return types.UserProfilePhotos.de_json(result)