code: async def create_webhook(self, *, name, avatar=None, reason=None):
          
  
          if avatar is not None:
              avatar = utils._bytes_to_base64_data(avatar)
  
          data = await self._state.http.create_webhook(self.id, name=str(name), avatar=avatar, reason=reason)
          return Webhook.from_state(data, state=self._state)
docs: |coro|
  
          Creates a webhook for this channel.
  
          Requires :attr:`~.Permissions.manage_webhooks` permissions.
  
          .. versionchanged:: 1.1.0
              Added the ``reason`` keyword-only parameter.
  
          Parameters
          -------------
          name: :class:`str`
              The webhook's name.
          avatar: Optional[:class:`bytes`]
              A :term:`py:bytes-like object` representing the webhook's default avatar.
              This operates similarly to :meth:`~ClientUser.edit`.
          reason: Optional[:class:`str`]
              The reason for creating this webhook. Shows up in the audit logs.
  
          Raises
          -------
          HTTPException
              Creating the webhook failed.
          Forbidden
              You do not have permissions to create a webhook.
  
          Returns
          --------
          :class:`Webhook`
              The created webhook.