Custom Commands V3Flows og editoren
Custom Commands V3Beta

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

AktivGem

Trigger

Skift

Tidsplan, hver dag kl. 09:00

#1

Hent lagerværdi(get-storage-value)

Læs spørgsmålskataloget fra{questions}

#2

Vælg næste post(array-at)

Den efter gårsdagens

#3

Send besked(send-message)

Inputparametre

Kanal:#general

Besked:Dagens spørgsmål

#4

Opret tråd(start-thread-from-message)

Åbn en tråd på den besked

#5

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.

general
Online
Din botBOT09:00

Dagens spørgsmål

Hvilket ene spil vender du altid tilbage til, uanset hvor gammelt det bliver?

Spørgsmål 42 af 120

Mira09:04

Terraria. Jeg geninstallerer det hver vinter.

Besked til #general

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

AktivGem

Trigger

Skift

Tidsplan, hver dag kl. 09:00

#1

Hent lagerværdi(get-storage-value)

Læs spørgsmålskataloget fra{questions}

#2

Vælg næste post(array-at)

Den efter gårsdagens

#3

Send besked(send-message)

Inputparametre

Kanal:#general

Besked:Dagens spørgsmål

#4

Opret tråd(start-thread-from-message)

Åbn en tråd på den besked

#5

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

AktivGem

Trigger

Skift

Tidsplan, hver dag kl. 09:00

#1

Hent lagerværdi(get-storage-value)

Læs spørgsmålskataloget fra{questions}

#2

Hvis(if-condition)

Kataloget er tomt: slå en påmindelse op i #staff, og stop

#3

For hvert element(for-each)

Gennemgå kataloget, til et ubrugt spørgsmål dukker op

#4

Send besked(send-message)

Slå spørgsmålet op som en embed i#general

#5

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

AktivGem

Trigger

Skift

Pop op-vindue indsendt, Foreslå et spørgsmål

#1

Send besked(send-message)

Slå forslaget op med en Godkend-knap i#staff

#2

Vent på knap(wait-for-interaction)

Vent, til en moderator klikker

#3

Sæt lagerværdi(set-storage-value)

Føj spørgsmålet til{questions}

#4

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 sendt

Hent 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.

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.