def send(self, content=None, *, wait=False, username=None, avatar_url=None, tts=False,<EOL>file=None, files=None, embed=None, embeds=None):
payload = {}<EOL>if files is not None and file is not None:<EOL><INDENT>raise InvalidArgument('<STR_LIT>')<EOL><DEDENT>if embeds is not None and embed is not None:<EOL><INDENT>raise InvalidArgument('<STR_LIT>')<EOL><DEDENT>if embeds is not None:<EOL><INDENT>if len(embeds) > <NUM_LIT:10>:<EOL><INDENT>raise InvalidArgument('<STR_LIT>')<EOL><DEDENT>payload['<STR_LIT>'] = [e.to_dict() for e in embeds]<EOL><DEDENT>if embed is not None:<EOL><INDENT>payload['<STR_LIT>'] = [embed.to_dict()]<EOL><DEDENT>if content is not None:<EOL><INDENT>payload['<STR_LIT:content>'] = str(content)<EOL><DEDENT>payload['<STR_LIT>'] = tts<EOL>if avatar_url:<EOL><INDENT>payload['<STR_LIT>'] = str(avatar_url)<EOL><DEDENT>if username:<EOL><INDENT>payload['<STR_LIT:username>'] = username<EOL><DEDENT>return self._adapter.execute_webhook(wait=wait, file=file, files=files, payload=payload)<EOL>
|maybecoro|

        Sends a message using the webhook.

        If the webhook is constructed with a :class:`RequestsWebhookAdapter` then this is
        not a coroutine.

        The content must be a type that can convert to a string through ``str(content)``.

        To upload a single file, the ``file`` parameter should be used with a
        single :class:`File` object.

        If the ``embed`` parameter is provided, it must be of type :class:`Embed` and
        it must be a rich embed type. You cannot mix the ``embed`` parameter with the
        ``embeds`` parameter, which must be a :class:`list` of :class:`Embed` objects to send.

        Parameters
        ------------
        content: :class:`str`
            The content of the message to send.
        wait: :class:`bool`
            Whether the server should wait before sending a response. This essentially
            means that the return type of this function changes from ``None`` to
            a :class:`Message` if set to ``True``.
        username: :class:`str`
            The username to send with this message. If no username is provided
            then the default username for the webhook is used.
        avatar_url: Union[:class:`str`, :class:`Asset`]
            The avatar URL to send with this message. If no avatar URL is provided
            then the default avatar for the webhook is used.
        tts: :class:`bool`
            Indicates if the message should be sent using text-to-speech.
        file: :class:`File`
            The file to upload. This cannot be mixed with ``files`` parameter.
        files: List[:class:`File`]
            A list of files to send with the content. This cannot be mixed with the
            ``file`` parameter.
        embed: :class:`Embed`
            The rich embed for the content to send. This cannot be mixed with
            ``embeds`` parameter.
        embeds: List[:class:`Embed`]
            A list of embeds to send with the content. Maximum of 10. This cannot
            be mixed with the ``embed`` parameter.

        Raises
        --------
        HTTPException
            Sending the message failed.
        NotFound
            This webhook was not found.
        Forbidden
            The authorization token for the webhook is incorrect.
        InvalidArgument
            You specified both ``embed`` and ``embeds`` or the length of
            ``embeds`` was invalid.

        Returns
        ---------
        Optional[:class:`Message`]
            The message that was sent.