Din bots logik, trin for trin
Et flow er en liste af trin. Flowet Dagens spørgsmål består af fem: læs kataloget, vælg det næste spørgsmål, slå det op, åbn en tråd, tæl det med. Tilføj et trin, forbind en værdi til det, test det, og tænd for det.
Dagens spørgsmål
AktivGemTrigger
SkiftTidsplan, hver dag kl. 09:00
Hent lagerværdi(get-storage-value)
Læs spørgsmålskataloget fra{questions}
Vælg næste post(array-at)
Den efter gårsdagens
Send besked(send-message)
Inputparametre
Kanal:#general
Besked:Dagens spørgsmål
Opret tråd(start-thread-from-message)
Åbn en tråd på den besked
Forøg lagerværdi(increment-storage-value)
Tæl spørgsmålet som stillet i{asked}
Kun illustration - den faktiske grænseflade kan afvige
Det, de fem trin giver kl. 09:00
De fem trin giver én besked. Tråden under den er, hvor svarene lander, og tælleren sørger for, at i morgen får det næste spørgsmål.
Kun illustration - den faktiske grænseflade og funktionalitet kan afvige
Trin, ikke scripts
Hvert trin er én handling fra kataloget med sine egne input, og værdien, et trin producerer, kan forbindes til ethvert senere trin. Editoren tilbyder dig kun de værdier, der passer. Der er 691 handlinger og 181 parametertyper bag den vælger.
Fast værdi, forbundet variabel eller skabelon
Hvert input tager en af de tre. En skabelon blander din egen tekst med indsatte variabler.
Variabelvælgeren kender typerne
Den skjuler værdier, der ikke passer, går ned i objektets egenskaber, advarer dig om værdier, der kan være tomme, og kan tilføje et konverteringstrin for dig.
Forbundne værdier vises som chips
Chipsene på disse rækker er spørgsmålskataloget og kanalen, så du kan se, hvor en værdi kommer fra.
Hvert trin har en pris
Fra Gratis til Meget tung, og flowet viser dig sit værste tilfælde, før du aktiverer det.
Du behøver ikke starte med et tomt flow. Dashboardet leveres med skabeloner, du kan åbne og ændre: en hilsen-svarer, velkomst af nye medlemmer, en /warn-kommando, en /remind-kommando, et XP-system, forslag og tilmelding til events.
Dagens spørgsmål
AktivGemTrigger
SkiftTidsplan, hver dag kl. 09:00
Hent lagerværdi(get-storage-value)
Læs spørgsmålskataloget fra{questions}
Vælg næste post(array-at)
Den efter gårsdagens
Send besked(send-message)
Inputparametre
Kanal:#general
Besked:Dagens spørgsmål
Opret tråd(start-thread-from-message)
Åbn en tråd på den besked
Forøg lagerværdi(increment-storage-value)
Tæl spørgsmålet som stillet i{asked}
Kun illustration - den faktiske grænseflade kan afvige
Forgreninger og løkker
Automatiseringer har brug for beslutninger. Hvis, Switch, Tilfældig gren og Gren på underkommando deler flowet, For hvert element, For hver map-post og Gentag gennemløber lister og maps med Break og Continue, og en Try-blok giver dig et sted at lægge genopretningen, når Discord siger nej.
Hver gren har sine egne variabler
En værdi, der sættes inde i en gren, hører til den gren.
Try med en On error-gren
Den kan skifte på fejlkoden: Manglende tilladelser, Ikke fundet, Ugyldigt input, Lagerfejl, Timeout, Interaktion udløbet.
Stop, når det er det rigtige at gøre
Hvis-trinnet i dette flow slår en påmindelse op i staff-kanalen og stopper, i stedet for at slå et tomt spørgsmål op.
En løkke, der løber løbsk, stopper af sig selv, så en fejl stopper i stedet for at køre hele formiddagen.
Dagens spørgsmål
AktivGemTrigger
SkiftTidsplan, hver dag kl. 09:00
Hent lagerværdi(get-storage-value)
Læs spørgsmålskataloget fra{questions}
Hvis(if-condition)
Kataloget er tomt: slå en påmindelse op i #staff, og stop
For hvert element(for-each)
Gennemgå kataloget, til et ubrugt spørgsmål dukker op
Send besked(send-message)
Slå spørgsmålet op som en embed i#general
Opret tråd(start-thread-from-message)
Åbn en tråd på den besked
Kun illustration - den faktiske grænseflade kan afvige
Flows kan kalde andre flows, og at vente er et trin
Skriv en adfærd én gang, og kald den, hvorfra du har brug for den. Og når et flow har brug for et svar, før det fortsætter, bliver ventetiden skrevet ned i stedet for at ligge i hukommelsen, så en genstart af botten ikke mister den.
Kald et andet flow
Send værdier ind, og læs resultater tilbage. Flows, der ville ende med at kalde hinanden i ring, afvises.
Et kaldt flow hører til kalderens kørsel
Kørselshistorikken viser det og linker tilbage til kalderen. Egne events er den løsere variant: ét flow sender, et andet lytter.
Ventetrin overlever en genstart
Bed om bekræftelse, bed om et valg, vent på en besked, vis et pop op-vindue, og vent på indsendelsen. En genstart undervejs mister ikke ventetiden.
Planlagte kørsler
Schedule flow run booker en senere kørsel inde fra et flow, og der er handlinger til at annullere og vise, hvad der afventer.
Hvis du redigerer et flow, mens en kørsel af det venter på nogen, stopper den ventende kørsel, og loggen fortæller det. Til noget, der skal kunne bruges i månedsvis, er en knap, der starter et flow, det bedre værktøj: den koster ingenting, så længe ingen klikker, og den udløber aldrig.
Gennemgå et forslag
AktivGemTrigger
SkiftPop op-vindue indsendt, Foreslå et spørgsmål
Send besked(send-message)
Slå forslaget op med en Godkend-knap i#staff
Vent på knap(wait-for-interaction)
Vent, til en moderator klikker
Sæt lagerværdi(set-storage-value)
Føj spørgsmålet til{questions}
Kald et andet flow(call-flow)
Dagens spørgsmål, med det nye spørgsmål som argument
Kun illustration - den faktiske grænseflade kan afvige
Se det, før du sender det live
En testkørsel simulerer flowet mod dine egne serverdata. Intet sendes, ændres eller slettes. Du vælger, hvem den kører som, i hvilken kanal den kører, og hvad triggeren giver den, og resultatet viser hvert trin med det, det ville have gjort. Test koster din server ingenting.
Et flow tjekkes også, før det kan blive aktivt, så et problem dukker op i editoren i stedet for klokken ni om morgenen. Og en løkke, der løber løbsk, kan ikke tage din bot ned: den stopper sig selv.
Udkast eller aktiv
Kladder gemmes og tjekkes, og de kører aldrig.
Når du gemmer et aktivt flow, gælder det med det samme
Din bot henter den nye version, så snart du gemmer. Hvis det ikke lykkes, fortsætter den version, der allerede kørte, med at håndtere flowet, og du kan prøve igen.
Intet går tabt ved en fejl
Hvis en anden har gemt flowet, mens du havde det åbent, får du en advarsel i stedet for at overskrive deres arbejde. Slettede flows og moduler kan gendannes i 30 dage.
Én ting skal være helt klar: kun testkørsler viser dig hvert trin. En live kørsel registrerer sin status, sin tid og det trin, den fejlede ved, ikke alt, den gik igennem.
Testkørsel
Simuleret kørsel, intet blev sendtHent lagerværdi
Læs kataloget, 120 poster
Vælg næste post
Spørgsmål 42
Send besked
Ville have slået op i #general
Opret tråd
Ville have åbnet en tråd på den besked
Forøg lagerværdi
Tælleren for stillede spørgsmål ville gå fra 41 til 42
Kun illustration - den faktiske grænseflade kan afvige
Spørgsmål om flows
Et flow, der venter på nogen, gør. Ventetrin som Bed om bekræftelse eller Vent på en besked bliver skrevet ned i stedet for at ligge i hukommelsen, så de overlever en genstart. Én undtagelse er værd at kende: Hvis du redigerer flowet, mens en kørsel af det venter, stopper den kørsel, og loggen fortæller det.
Mere fra Custom Commands V3
Vil du have din server med i betaen?
V3 er et stort system, og det udvikler sig stadig hurtigt, så servere kommer ind én ad gangen i stedet for alle på én gang. Hver ansøgning læses af et menneske, og du hører fra os inden for få dage.
Serverne, der allerede er med i betaen, er med til at bestemme en stor del af, hvad vi bygger næste gang. Det, du bygger, er dit: flows og moduler bliver, når betaen slutter.