Tava bota loģika soli pa solim
Flow ir soļu saraksts. Flow Dienas jautājums ir pieci soļi: nolasīt katalogu, izvēlēties nākamo jautājumu, publicēt to, atvērt pavedienu, saskaitīt. Pievieno soli, pieslēdz tam vērtību, pārbaudi to un tad ieslēdz.
Dienas jautājums
AktīvsSaglabātTrigeris
MainītGrafiks, katru dienu 09:00
Iegūt krātuves vērtību(get-storage-value)
Nolasīt jautājumu katalogu no{questions}
Izvēlēties nākamo ierakstu(array-at)
Nākamais pēc vakardienas
Sūtīt ziņu(send-message)
Ievades parametri
Kanāls:#general
Ziņa:Dienas jautājums
Izveidot pavedienu(start-thread-from-message)
Atvērt pavedienu zem šīs ziņas
Palielināt krātuves vērtību(increment-storage-value)
Ieskaitīt jautājumu kā uzdotu laukā{asked}
Tikai ilustrācija - faktiskā saskarne var atšķirties
Ko šie pieci soļi izveido pulksten 09:00
Pieci soļi izveido vienu ziņu. Pavediens zem tās ir vieta, kur nonāk atbildes, un skaitītājs parūpējas, lai rīt tiktu nākamais jautājums.
Tikai ilustrācija - faktiskā saskarne un darbība var atšķirties
Soļi, nevis skripti
Katrs solis ir viena darbība no kataloga ar saviem ievaddatiem, un vērtību, ko solis izveido, var pieslēgt jebkuram vēlākam solim. Redaktors piedāvā tikai tās vērtības, kas der. Aiz šīs izvēlnes ir 691 darbība un 181 parametru tips.
Fiksēta vērtība, pieslēgts mainīgais vai veidne
Katrs ievads pieņem vienu no trim. Veidne apvieno tavu tekstu ar ievietotiem mainīgajiem.
Mainīgo izvēle ņem vērā tipus
Tā paslēpj vērtības, kas neder, ielūkojas objektu īpašībās, brīdina par vērtībām, kas var būt tukšas, un var pievienot pārveidošanas soli tavā vietā.
Pieslēgtās vērtības redzamas kā čipi
Čipi šajās rindās ir jautājumu katalogs un kanāls, tāpēc redzi, no kurienes vērtība nāk.
Katram solim ir izmaksas
No Bezmaksas līdz Ļoti smagam, un flow parāda sliktāko scenāriju, pirms to aktivizē.
Nav jāsāk no tukša flow. Panelī ir veidnes, ko vari atvērt un mainīt: sveiciena atbildētājs, jauno dalībnieku sveikšana, komanda /warn, komanda /remind, XP sistēma, ieteikumi un pieteikšanās pasākumam.
Dienas jautājums
AktīvsSaglabātTrigeris
MainītGrafiks, katru dienu 09:00
Iegūt krātuves vērtību(get-storage-value)
Nolasīt jautājumu katalogu no{questions}
Izvēlēties nākamo ierakstu(array-at)
Nākamais pēc vakardienas
Sūtīt ziņu(send-message)
Ievades parametri
Kanāls:#general
Ziņa:Dienas jautājums
Izveidot pavedienu(start-thread-from-message)
Atvērt pavedienu zem šīs ziņas
Palielināt krātuves vērtību(increment-storage-value)
Ieskaitīt jautājumu kā uzdotu laukā{asked}
Tikai ilustrācija - faktiskā saskarne var atšķirties
Zari un cikli
Automatizācijām vajag lēmumus. If, Switch, Random branch un Branch on subcommand sazaro flow, For each item, For each map entry un Repeat apiet sarakstus un kartes ar Break un Continue, un Try bloks dod vietu, kur ielikt atkopšanos, kad Discord saka nē.
Katram zaram ir savi mainīgie
Zarā iestatīta vērtība pieder šim zaram.
Try ar On error zaru
Tas var atzarot pēc kļūdas koda: Missing permissions, Not found, Invalid input, Storage error, Timeout, Interaction expired.
Apstāšanās tur, kur tā ir īstā izvēle
If šajā flow personāla kanālā publicē atgādinājumu un apstājas, nevis publicē tukšu jautājumu.
Cikls, kas aizskrien, apstājas pats, tāpēc kļūda apstājas, nevis darbojas visu rītu.
Dienas jautājums
AktīvsSaglabātTrigeris
MainītGrafiks, katru dienu 09:00
Iegūt krātuves vērtību(get-storage-value)
Nolasīt jautājumu katalogu no{questions}
If(if-condition)
Katalogs ir tukšs: publicēt atgādinājumu #staff un apstāties
For each item(for-each)
Iet cauri katalogam, līdz atrodas neizmantots jautājums
Sūtīt ziņu(send-message)
Publicēt jautājumu kā embed kanālā#general
Izveidot pavedienu(start-thread-from-message)
Atvērt pavedienu zem šīs ziņas
Tikai ilustrācija - faktiskā saskarne var atšķirties
Flows var izsaukt citus flows, un gaidīšana ir solis
Uzraksti uzvedību vienreiz un izsauc to, no kurienes vajag. Un, kad flow pirms turpināšanas vajag atbildi, šī gaidīšana tiek pierakstīta, nevis turēta atmiņā, tāpēc bota restarts to nezaudē.
Izsaukt citu flow
Nodod vērtības un nolasi rezultātus. Flows, kas beigtos, izsaucot cits citu aplī, tiek noraidīti.
Izsauktais flow pieder izsaucēja palaišanai
Palaišanu vēsture to norāda un saista atpakaļ ar izsaucēju. Custom events ir vaļīgāks variants: viens flow sūta, cits klausās.
Gaidīšana saglabājas arī pēc restarta
Pieprasi apstiprinājumu, pieprasi izvēli, gaidi ziņu, parādi uznirstošo logu un gaidi iesniegšanu. Restarts pa vidu gaidīšanu nezaudē.
Ieplānota palaišana
Schedule flow run no flow iekšienes rezervē vēlāku palaišanu, un ir darbības, lai atceltu un uzskaitītu gaidošās.
Ja rediģē flow, kamēr kāda tā palaišana kādu gaida, šī gaidošā palaišana apstājas, un žurnāls to norāda. Tam, kam jāpaliek lietojamam mēnešiem, labāks rīks ir poga, kas sāk flow: tā neko nemaksā, kamēr neviens neklikšķina, un nekad nebeidzas.
Pārskatīt ieteikumu
AktīvsSaglabātTrigeris
MainītUznirstošais logs iesniegts: Ieteikt jautājumu
Sūtīt ziņu(send-message)
Publicēt ieteikumu ar pogu Apstiprināt kanālā#staff
Gaidīt pogu(wait-for-interaction)
Apturēt, līdz moderators noklikšķina
Iestatīt krātuves vērtību(set-storage-value)
Pievienot jautājumu{questions}
Izsaukt citu flow(call-flow)
Dienas jautājums, ar jauno jautājumu kā argumentu
Tikai ilustrācija - faktiskā saskarne var atšķirties
Apskati, pirms palaid darbā
Testa palaišana simulē flow ar tava servera datiem. Nekas netiek nosūtīts, mainīts vai dzēsts. Tu izvēlies, kā kurš lietotājs tas darbojas, kurā kanālā un ko trigeris tam nodod, un rezultāts parāda katru soli ar to, ko tas būtu darījis. Testēšana tavam serverim neko nemaksā.
Flow tiek pārbaudīts arī pirms tas var kļūt aktīvs, tāpēc problēma parādās redaktorā, nevis deviņos no rīta. Un cikls, kas aizskrien, nevar notriekt tavu botu: tas apstājas pats.
Melnraksts vai aktīvs
Melnraksti tiek saglabāti un pārbaudīti, un tie nekad nedarbojas.
Aktīva flow saglabāšana stājas spēkā uzreiz
Tavs bots jauno versiju ņem, tiklīdz saglabā. Ja tas neizdodas, flow turpina apstrādāt jau darbojošā versija, un vari mēģināt vēlreiz.
Nekas nepazūd nejauši
Ja kāds cits saglabāja flow, kamēr tev tas bija atvērts, saņem brīdinājumu, nevis pārraksti viņa darbu. Dzēstos flows un moduļus var atjaunot 30 dienas.
Viena lieta jāsaprot skaidri: tikai testa palaišanas parāda katru soli. Reāla palaišana reģistrē savu statusu, laiku un soli, kurā tā neizdevās, nevis visu, caur ko tā gāja.
Testa palaišana
Simulēta palaišana, nekas netika nosūtītsIegūt krātuves vērtību
Nolasīt katalogu, 120 ieraksti
Izvēlēties nākamo ierakstu
Jautājums 42
Sūtīt ziņu
Būtu publicējis kanālā #general
Izveidot pavedienu
Būtu atvēris pavedienu zem šīs ziņas
Palielināt krātuves vērtību
Jautāto jautājumu skaitītājs mainītos no 41 uz 42
Tikai ilustrācija - faktiskā saskarne var atšķirties
Jautājumi par flows
Flow, kas kādu gaida, turpina. Gaidīšana, piemēram, Ask for confirmation vai Wait for a message, tiek pierakstīta, nevis turēta atmiņā, tāpēc tā pārdzīvo restartu. Viens izņēmums, ko vērts zināt: ja rediģē flow, kamēr kāda tā palaišana gaida, šī palaišana apstājas, un žurnāls to norāda.
Vairāk par Custom Commands V3
Vēlies savu serveri betā?
V3 ir liela sistēma, kas joprojām strauji mainās, tāpēc serveri tiek uzņemti pa vienam, nevis visi uzreiz. Katru pieteikumu izlasa cilvēks, un atbildi saņem dažu dienu laikā.
Serveri, kas jau ir betā, lielā mērā nosaka, ko veidosim tālāk. Tas, ko izveido, ir tavs: flows un moduļi paliek arī pēc beta beigām.