Vovó Pomoc

action.json i pad.json

Każdy klucz obu plików, które Vovó czyta z folderu lub zipa, wygenerowany z kodu samej Vovó, więc zawsze zgadza się z tą wersją. Vovó sprawdza każdy plik, gdy przychodzi, i odrzuca go zdaniem mówiącym, co jest nie tak; klucz, którego nie zna, pomija bez słowa, a edytor czytający schemat go podkreśla.

Klucz to małe litery, cyfry i _, a nazwa może mieć też -, każde najwyżej 32 znaki.

Żeby edytor podpowiadał klucze i podkreślał błędy, wskaż schemat na początku pliku, tak jak robią to przykłady. vovo dev zapisuje action.schema.json obok części akcji; kod źródłowy Vovó ma oba w folderze api.

action.json

Manifest akcji: jak się nazywa, czego słucha, o co prosi i co daje osobie prowadzącej transmisję. Leży obok index.html, style.css, script.js i files/, w paczce lub folderze.

{
    "$schema": "./action.schema.json",
    "name": "Raffle",
    "id": "example.raffle",
    "version": "1.2.0",
    "api": 1,
    "author": "A maker",
    "site": "https://example.com/raffle",
    "description": "!join in chat joins the wheel; the panel draws the winner.",
    "license": "MIT",
    "triggers": ["chat", "timer"],
    "bindings": [
        { "event": "chat", "filter": [{ "field": "text", "op": "starts", "value": "!join" }] },
        { "event": "timer", "filter": [{ "field": "every", "op": "is", "value": 300 }] }
    ],
    "permissions": ["chat.send"],
    "controls": [
        { "key": "open", "label": "Entries open", "kind": "toggle" },
        { "key": "prize", "label": "Prize", "kind": "text" }
    ],
    "settings": [
        { "key": "color", "label": "Wheel colour", "kind": "color", "default": "#840926" },
        { "key": "size", "label": "Size", "kind": "number", "min": 200, "max": 800, "step": 10, "unit": "px", "default": 420 },
        { "key": "side", "label": "Side", "kind": "choice", "options": ["Left", "Right"], "default": "Right" }
    ],
    "panel": [
        { "kind": "control", "key": "open" },
        { "kind": "control", "key": "prize" },
        { "kind": "form", "name": "add", "label": "Put someone in", "button": "Put", "fields": [{ "key": "who", "label": "Name" }] },
        { "kind": "button", "name": "draw", "label": "Draw", "confirm": true },
        { "kind": "list", "key": "names", "label": "In the wheel", "empty": "Nobody yet", "buttons": [{ "name": "out", "label": "Take out", "confirm": true }] }
    ]
}

Warunki

Każdy wyzwalacz jeszcze raz, z warunkami, które muszą być spełnione wszystkie, żeby uruchomił akcję, tak jak zapisuje je edytor. Po jednym na każdą nazwę z triggers, w dowolnej kolejności: gdy nie pasują jeden do jednego, wszystkie warunki zostają pominięte bez słowa, a każdy wyzwalacz działa na wszystko.

Warunek

Jedno z pól zdarzenia porównane z wartością. Teksty porównuje się bez względu na wielkość liter; liczba zapisana jako tekst jest czytana jako liczba.

Kontrolki

Co pad zmienia, gdy akcja działa: każda trzymana w vovo.state pod swoim kluczem i przekazywana akcji jako zdarzenie control, którego słucha bez umieszczania go na liście.

Ustawienia

Co osoba używająca akcji może zmienić bez jej kodu, w Dostosuj: czytane jako vovo.settings.<key>, jako --vovo-<key> w jej CSS, a dla włączone lub wyłączone i wyboru jako data-vovo-<key> na jej dokumencie. To, co wybrane, zostaje z akcją, a paczka niesie tylko wartości domyślne. Najwyżej osiem z nich to teksty.

Ustawienia: color

Kolor; wiśniowy Vovó, #840926, jeśli akcja nie poda innego.

Ustawienia: number

Liczba od minimum do maksimum, co krok; minimum, jeśli akcja nie poda innej.

Ustawienia: toggle

Włączone lub wyłączone; wyłączone, jeśli akcja nie poda inaczej.

Ustawienia: choice

Jedna z jej opcji; pierwsza, jeśli akcja nie poda innej.

Ustawienia: text

Wiersz tekstu; pusty, jeśli akcja nie poda innego.

Ustawienia: file

Obraz, dźwięk lub film, który wybiera osoba jej używająca, najwyżej 50 MB; tak, jak przychodzi akcja, jeden z jej własnych plików, po ścieżce, albo żaden.

Ustawienia: font

Jedna z czcionek komputera, po rodzinie; Segoe UI, jeśli akcja nie poda innej.

Ustawienia: camera

Jedna z kamer komputera, którą wybiera w Dostosuj ten, kto używa akcji, pokazana tam, gdzie umieści ją akcja (vovo.camera.place, z uprawnieniem camera.show); najwyżej cztery. Przychodzi bez żadnej, więc nie ma wartości domyślnej.

Panel

Co akcja pokazuje osobie prowadzącej transmisję w Panelach, na pasku bocznym: elementy po kolei, każdy wskazany przez swój kind, rysowane przez Vovó. To, co się tam zrobi, dociera do akcji jako zdarzenie panel, którego słucha bez umieszczania go na liście. Element panel zaczyna kolejny panel z elementami po nim aż do następnego, a elementy przed pierwszym pokazują się w każdym; tab tak samo dzieli panel na sekcje. Nazwy przycisków, formularzy i przycisków listy są w akcji unikalne. Akcja deklaruje najwyżej 24 panele, każdy z najwyżej 40 elementami i 12 kartami.

Panel: panel

Tu zaczyna się kolejny panel, z własną pozycją w Panelach.

Panel: tab

Sekcja panelu: elementy po niej, aż do następnej karty.

Panel: heading

Tytuł nad elementami po nim, które dzielą jedną kartę.

Panel: note

Wiersz, który coś mówi.

Panel: control

Jedna z kontrolek akcji, obsługiwana tu jak na padzie.

Panel: button

Przycisk.

Panel: form

Kilka pól i przycisk: to, co wpisano, idzie z naciśnięciem, w values zdarzenia. Formularz z jednym polem wypełnia się w samym panelu.

Pola formularza

Każde to wiersz wpisany w panelu, wysyłany z formularzem pod swoim kluczem.

Panel: list

Lista czytana ze stanu akcji, po wierszu na element, nawet tysiące; lista z ponad ośmioma wierszami ma własne wyszukiwanie.

Przyciski listy

Przyciski w każdym wierszu listy.

pad.json

Paczka przycisków dla padu: zip albo folder dźwięków i filmów z pad.json w katalogu głównym, który podaje grupy i ich przyciski; bez niego każdy folder jest grupą, a każdy dźwięk lub film przyciskiem nazwanym od pliku. Wprowadzona ponownie aktualizuje to, co nazywa, a resztę zostawia bez zmian.

{
    "$schema": "./pad.schema.json",
    "groups": [
        {
            "name": "Sounds",
            "color": "#2F6FDB",
            "buttons": [
                { "label": "Applause", "icon": "👏", "sound": "sounds/applause.mp3", "favorite": true, "hotkey": "F13" },
                { "label": "Drum roll", "sound": "sounds/drums.ogg", "volume": 130 },
                { "label": "Rain", "video": "videos/rain.mp4", "key": "luma", "loop": true }
            ]
        },
        {
            "name": "Live",
            "buttons": [
                { "label": "Raffle", "action": "Raffle" },
                { "label": "Entries", "action": "Raffle", "control": "open" },
                { "label": "Starting", "scene": "Starting soon" },
                { "label": "Camera", "scene": "Game", "source": "Camera" },
                { "label": "Blur", "source": "Camera", "filter": "Blur" },
                { "label": "One minute", "team": "One minute, then I'm back." }
            ]
        }
    ]
}

Grupy

Grupa padu i jej przyciski, po kolei.

Przyciski

Przycisk i to, co robi: Vovó czyta pierwsze z tych, które znajdzie, w tej kolejności: sound; video; action z control; action; source z filter albo scene z source; scene. Paczka wnosi najwyżej 2000 przycisków.