def send_video_note(chat_id, video_note,
                    duration=None, length=None, reply_to_message_id=None, reply_markup=None, disable_notification=False,
                    **kwargs):
    """
    Use this method to send video files, Telegram clients support mp4 videos (other formats may be sent as Document).

    :param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
    :param video_note: Video to send. Pass a file_id as String to send a video that exists on the Telegram servers (recommended),
                  pass an HTTP URL as a String for Telegram to get a video from the Internet, or upload a new video using multipart/form-data.
    :param duration: Duration of sent video in seconds
    :param length: Video width and height
    :param reply_to_message_id: If the message is a reply, ID of the original message
    :param reply_markup: Additional interface options. A JSON-serialized object for a
                         custom reply keyboard, instructions to hide keyboard or to
                         force a reply from the user.
    :param disable_notification: Sends the message silently. iOS users will not receive a notification, Android users
                                 will receive a notification with no sound. Other apps coming soon.
    :param kwargs: Args that get passed down to :class:`TelegramBotRPCRequest`

    :type chat_id: int or str
    :type video: InputFile or str
    :type duration: int
    :type caption: str
    :type reply_to_message_id: int
    :type reply_markup: ReplyKeyboardMarkup or ReplyKeyboardHide or ForceReply

    :returns: On success, the sent Message is returned.
    :rtype:  TelegramBotRPCRequest
    """
    files = None
    if isinstance(video_note, InputFile):
        files = [video_note]
        video = None
    elif not isinstance(video_note, str):
        raise Exception('video must be instance of InputFile or str')

    # required args
    params = dict(
        chat_id=chat_id,
        video_note=video_note
    )

    # optional args
    params.update(
        _clean_params(
            duration=duration,
            length=length,
            reply_to_message_id=reply_to_message_id,
            reply_markup=reply_markup,
            disable_notification=disable_notification,
        )
    )

    return TelegramBotRPCRequest('sendVideoNote', params=params, files=files, on_result=Message.from_result, **kwargs)
Use this method to send video files, Telegram clients support mp4 videos (other formats may be sent as Document).

    :param chat_id: Unique identifier for the target chat or username of the target channel (in the format @channelusername)
    :param video_note: Video to send. Pass a file_id as String to send a video that exists on the Telegram servers (recommended),
                  pass an HTTP URL as a String for Telegram to get a video from the Internet, or upload a new video using multipart/form-data.
    :param duration: Duration of sent video in seconds
    :param length: Video width and height
    :param reply_to_message_id: If the message is a reply, ID of the original message
    :param reply_markup: Additional interface options. A JSON-serialized object for a
                         custom reply keyboard, instructions to hide keyboard or to
                         force a reply from the user.
    :param disable_notification: Sends the message silently. iOS users will not receive a notification, Android users
                                 will receive a notification with no sound. Other apps coming soon.
    :param kwargs: Args that get passed down to :class:`TelegramBotRPCRequest`

    :type chat_id: int or str
    :type video: InputFile or str
    :type duration: int
    :type caption: str
    :type reply_to_message_id: int
    :type reply_markup: ReplyKeyboardMarkup or ReplyKeyboardHide or ForceReply

    :returns: On success, the sent Message is returned.
    :rtype:  TelegramBotRPCRequest