code: async def prune_members(self, *, days, compute_prune_count=True, reason=None):
          r
  
          if not isinstance(days, int):
              raise InvalidArgument('Expected int for ``days``, received {0.__class__.__name__} instead.'.format(days))
  
          data = await self._state.http.prune_members(self.id, days, compute_prune_count=compute_prune_count, reason=reason)
          return data['pruned']
docs: r"""|coro|
  
          Prunes the guild from its inactive members.
  
          The inactive members are denoted if they have not logged on in
          ``days`` number of days and they have no roles.
  
          You must have the :attr:`~Permissions.kick_members` permission
          to use this.
  
          To check how many members you would prune without actually pruning,
          see the :meth:`estimate_pruned_members` function.
  
          Parameters
          -----------
          days: :class:`int`
              The number of days before counting as inactive.
          reason: Optional[:class:`str`]
              The reason for doing this action. Shows up on the audit log.
          compute_prune_count: :class:`bool`
              Whether to compute the prune count. This defaults to ``True``
              which makes it prone to timeouts in very large guilds. In order
              to prevent timeouts, you must set this to ``False``. If this is
              set to ``False``\, then this function will always return ``None``.
  
          Raises
          -------
          Forbidden
              You do not have permissions to prune members.
          HTTPException
              An error occurred while pruning members.
          InvalidArgument
              An integer was not passed for ``days``.
  
          Returns
          ---------
          Optional[:class:`int`]
              The number of members pruned. If ``compute_prune_count`` is ``False``
              then this returns ``None``.