async def create_guild(self, name, region=None, icon=None):
if icon is not None:<EOL><INDENT>icon = utils._bytes_to_base64_data(icon)<EOL><DEDENT>if region is None:<EOL><INDENT>region = VoiceRegion.us_west.value<EOL><DEDENT>else:<EOL><INDENT>region = region.value<EOL><DEDENT>data = await self.http.create_guild(name, region, icon)<EOL>return Guild(data=data, state=self._connection)<EOL>
|coro|

        Creates a :class:`.Guild`.

        Bot accounts in more than 10 guilds are not allowed to create guilds.

        Parameters
        ----------
        name: :class:`str`
            The name of the guild.
        region: :class:`VoiceRegion`
            The region for the voice communication server.
            Defaults to :attr:`.VoiceRegion.us_west`.
        icon: :class:`bytes`
            The :term:`py:bytes-like object` representing the icon. See :meth:`.ClientUser.edit`
            for more details on what is expected.

        Raises
        ------
        HTTPException
            Guild creation failed.
        InvalidArgument
            Invalid icon image format given. Must be PNG or JPG.

        Returns
        -------
        :class:`.Guild`
            The guild created. This is not the same guild that is
            added to cache.