async def close(self):
        """|coro|

        Closes the connection to discord.
        """
        if self.is_closed():
            return

        self._closed = True

        for vc in self.voice_clients:
            try:
                await vc.disconnect()
            except Exception:
                pass

        to_close = [shard.ws.close() for shard in self.shards.values()]
        if to_close:
            await asyncio.wait(to_close, loop=self.loop)

        await self.http.close()
|coro|

        Closes the connection to discord.