async def fetch_invite(self, *, with_counts=True):
        """|coro|

        Retrieves an :class:`Invite` from a invite URL or ID.
        This is the same as :meth:`Client.get_invite`; the invite
        code is abstracted away.

        Parameters
        -----------
        with_counts: :class:`bool`
            Whether to include count information in the invite. This fills the
            :attr:`Invite.approximate_member_count` and :attr:`Invite.approximate_presence_count`
            fields.

        Returns
        --------
        :class:`Invite`
            The invite from the URL/ID.
        """
        if self._invite:
            invite_id = resolve_invite(self._invite)
            data = await self._state.http.get_invite(invite_id, with_counts=with_counts)
            return Invite.from_incomplete(state=self._state, data=data)
|coro|

        Retrieves an :class:`Invite` from a invite URL or ID.
        This is the same as :meth:`Client.get_invite`; the invite
        code is abstracted away.

        Parameters
        -----------
        with_counts: :class:`bool`
            Whether to include count information in the invite. This fills the
            :attr:`Invite.approximate_member_count` and :attr:`Invite.approximate_presence_count`
            fields.

        Returns
        --------
        :class:`Invite`
            The invite from the URL/ID.