code: async def create_guild(self, name, region=None, icon=None):
          
          if icon is not None:
              icon = utils._bytes_to_base64_data(icon)
  
          if region is None:
              region = VoiceRegion.us_west.value
          else:
              region = region.value
  
          data = await self.http.create_guild(name, region, icon)
          return Guild(data=data, state=self._connection)
docs: |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.