A causa di cambiamenti nel modo in cui opera Medium, non terrò più questo blog. Puoi trovare il mio nuovo blog a https://www.resonantdrifter.com e un link diretto a questo articolo a https://www.resonantdrifter.com/blog/ankhbot-%E2%80%94-creating-an-almost-completely-autonomous-user-created-custom-welcome-message-program/
A causa della fusione di Ankhbot con Streamlabs, questo articolo è ora leggermente obsoleto, quindi ne ho creato uno nuovo! Andate a vedere il nuovo articolo “Streamlabs Chatbot – Creazione di un programma (quasi) autonomo di messaggi di benvenuto personalizzato creato dall’utente”!
Poco tempo fa ho deciso di dare ai miei seguaci di Twitch, che io chiamo Drifters, un modo per creare il loro messaggio di benvenuto che, per una piccola somma di denaro (chiamato rifornimenti nel mio canale), li avrebbe accolti quando entravano in chat. Questo permetterebbe loro di spendere un po’ di quei rifornimenti in qualcosa di diverso dalle imboscate (la versione del mio canale delle rapine) e rendere la comunità un po’ più simile alla loro. Naturalmente, questo ha anche portato all’idea di poter creare un messaggio di benvenuto per gli altri utenti – un modo divertente per i follower di scherzare con altri follower. Fortunatamente, Ankhbot ha incluso un modo per i messaggi di benvenuto (tra le altre cose) da includere su specifici utenti che entrano nel tuo canale.
Ho subito messo in moto questo piano ed è stato un successo poiché sono stato in grado di usare il parametro $removepoints() per prendere i Supplies da loro e loro mi avrebbero sussurrato il messaggio che volevano che fosse il loro messaggio di benvenuto o il nome utente e il messaggio dell’altro Drifter. Tuttavia, subito dopo questa svolta (nella mia mente), mi sono reso conto che sarebbe stato quasi impossibile per me tenere il passo con il loro bisogno in modo coerente senza interrompere ripetutamente il gameplay. Questo mi ha portato sulla strada della ricerca di un modo completamente autonomo per gli utenti di creare e cambiare i loro messaggi di benvenuto a volontà.
Sarò sincero con voi: non è possibile creare un messaggio di benvenuto personalizzato completamente autonomo creato dall’utente in Ankhbot. Sottoponendo la mia idea a Marcin Swierzowski su Twitter, mi ha confermato che la mia idea non è in grado di dare frutti.
John Paul @resonantdrifter
Quasi. Ho bisogno di un modo per impostare automaticamente l’evento On Join per utente per leggere automaticamente il loro specifico $user.txt… #ankhbot@AnkhHeart
Ankh Heart @AnkhHeart
@resonantdrifter Questo non è possibile. Dovrai creare manualmente gli eventi On Join manualmente.
Tuttavia, la mia testardaggine ha persistito e mi sono imbattuto in un modo che permetterebbe all’utente di creare e cambiare il proprio (e altri) messaggio di benvenuto personalizzato a volontà con MOLTO POCO SETUP INIZIALE. Quello che segue è come ho creato il messaggio di benvenuto personalizzato (quasi) completamente autonomo creato dall’utente!
Prima di tutto, la parte più intensa di questo setup (specialmente se hai già molti follower o ne ricevi molti ogni giorno) è l’impostazione della lista On Join Event. La lista On Join Event è dove dici ad Ankhbot cosa vuoi che faccia quando un utente specifico entra in chat. Questo purtroppo non può essere automatizzato ed è stato il punto in cui sono rimasto bloccato nel mio grande schema. Volevo davvero che Ankhbot compilasse automaticamente questa lista dai miei attuali follower, ma automatizzare questo sistema non è possibile, quindi dovrai inserire manualmente una voce per ogni follower. Fortunatamente, dovrai farlo solo una volta per ogni follower. Dopo di che, ogni messaggio si aggiornerà automaticamente da solo.
Nel sistema On Join Event dovrai creare una voce per ciascuno dei tuoi follower collegandolo a un documento .txt che mostrerà il loro comando quando entrano in chat.
Prima di tutto, crea una cartella dove vuoi memorizzare tutti i documenti .txt che Ankhbot creerà. Ricorda, anche se saranno piccoli (in termini di dimensioni dei file), verranno creati numerosi file (supponendo che tu abbia molti seguaci). Una volta fatto questo, tornate in Ankhbot e create un comando per ognuno dei vostri follower come segue (suggerimento: tutto rimane uguale tranne lo slot Info):
UserGroup: Mantieni questo “User_Specific”
Info: nome utente del singolo follower
Solo client: “Falso” (Vero significa che solo l’utente potrà vederlo)
Abilitato: “True” (False lo spegnerà, ovviamente, per quell’utente)
Vol: Imposta a qualsiasi livello sia comodo per te e per i tuoi spettatori
Messaggio: $readline(C:\user\$user.txt)
Diamo un’occhiata più da vicino allo slot “Message”:
$readline(C:\user\$user.txt)
Il parametro $readline() legge semplicemente la prima riga di qualsiasi documento di testo a cui lo si punta. La destinazione è messa tra le parentesi. Questa è una parte importante: nominare il documento di testo $user.txt permette ad Ankhbot di cercare un documento .txt etichettato con il nome dell’utente (questo verrà spiegato più avanti in questo documento).
Una volta inseriti tutti i follower attuali abbiamo finito. Tuttavia, man mano che otteniamo più follower dobbiamo creare una nuova voce per ognuno di loro. Questo è il maggior lavoro che dovremo fare su questo sistema quasi autonomo.
COMANDI DI CHAT
Ora che abbiamo la configurazione di base, creiamo i comandi che permetteranno agli utenti di impostare e cambiare il loro messaggio di benvenuto. Giusto per essere sulla stessa pagina, il mio comando per i follower per creare il loro messaggio di benvenuto è !buywelcome e la valuta del mio canale è supplies.
!BUYWELCOME
Per far sì che questo funzioni devi prima creare un documento .txt con due parametri all’interno: $removepoints(“target”, “min”, “max”, “succeed”, “fail”, “forceremove”) e $overwritefile(“FileLocation”, “Text”). Ho etichettato il mio documento buywelcome.txt e l’ho compilato così:
$removepoints(“$user”, “100”, “100”,”$value supplies have been removed from your inventory and your welcome message has been changed to ‘$msg'”, “You do not have enough supplies in your inventory!”, “false”) $overwritefile(“C:\Ankhbot\user\$user.txt”,”$user: $msg”)
Il primo parametro – $removepoints() – fa esattamente quello che dice e rimuove punti (o valuta) dall’utente che inserisce il comando. In questo caso rimuove 100 Rifornimenti (se l’utente ne ha abbastanza) e restituisce un messaggio sia se hanno o non hanno abbastanza Rifornimenti. Diamo un’occhiata più da vicino:
“$user” – collega il parametro $removepoints() all’utente che inserisce il comando
“min”, “max” – nel mio parametro imposta il payout minimo e massimo a 100 rifornimenti ciascuno così non varia
“succeed” – “$value supplies blah blah blah ‘$msg'” prende qualsiasi importo rimosso dalla valuta (100) e lo visualizza nel messaggio in chat insieme al messaggio di successo. Il parametro $msg ristampa qualsiasi messaggio impostato dall’utente in modo che possa vederlo. Ho incluso questo in modo che sappiano che è cambiato.
“fail” – “You do no blah blah” è il messaggio se l’utente non ha 100 scorte (gli piace giocare d’azzardo)
“forceremove” – “false” permette agli utenti di non poter comprare se non hanno abbastanza scorte. Impostando questo parametro a “True”, gli permetterà di andare in valuta negativa.
Il secondo parametro ci permette di memorizzare il messaggio in un documento .txt etichettato come il nome dell’utente ($user.txt) usando il parametro $overwritefile(“FileLocation”, “Text”).
Prima di entrare in questo, voglio spiegare qualcosa. Ricordate quando abbiamo creato la lista degli eventi On Join? Abbiamo creato una cartella per ospitare tutti i file .txt degli utenti, ma non abbiamo creato alcun file di testo vero e proprio. Perché? Questo assicura che quando un utente che non ha inserito nulla come messaggio di benvenuto non ne riceverà uno quando si unisce alla chat. Diamo un’occhiata più da vicino:
$overwritefile(“FileLocation”) – usando $overwritefile invece di $savetofile l’utente può cambiare questo messaggio quando vuole.
“text” – “$user: $msg” questi due parametri salvano il nome utente dell’utente e il messaggio che ha digitato per stamparli entrambi sullo schermo in seguito.
Nel comando effettivo !buywelcome metti semplicemente $readline(FileLocation) e lo punti verso il documento che hai creato (nel mio caso, il buywelcome.txt). Questo è tutto quello che devi fare per farlo funzionare.
!BUYOTHERWELCOME
Per creare un’esperienza divertente e in qualche modo competitiva, volevo permettere ai miei seguaci di poter creare messaggi di benvenuto per altri utenti. Sapevo che questo avrebbe assomigliato da vicino al comando !buywelcome, ma avrebbe presentato i suoi propri ostacoli in quanto si tratta di un utente che crea un messaggio per un altro. Ecco come l’ho impostato:
Come il comando precedente, si crea un documento .txt con i parametri $removepoints(“target”, “min”, “max”, “succeed”, “fail”, “forceremove”) e $overwritefile(“FileLocation”, “Text”). A differenza del comando precedente, dovrete impostarlo in modo leggermente diverso per farlo funzionare. Ecco come appare il mio:
$removepoints(“$user”, “100”, “100”,”$value forniture sono state rimosse dal tuo inventario e il messaggio di benvenuto di $target è stato cambiato in ‘$msg'”, “Non hai abbastanza forniture nel tuo inventario!”, “false”) $overwritefile(“C:\Users\JohninMotion\Documents\Ankhbot\user$target.txt”,”$msg”)
Il primo parametro – $removepoints() – fa esattamente quello che dice e rimuove punti (o valuta) dall’utente che inserisce il comando. In questo caso rimuove 100 Rifornimenti (se l’utente ne ha abbastanza) e restituisce un messaggio sia se hanno o non hanno abbastanza Rifornimenti. Dove differisce è che inserisce un obiettivo per il messaggio. Diamo un’occhiata più da vicino:
“$user” – collega il parametro $removepoints() all’utente che inserisce il comando
“min”, “max” – nel mio parametro imposta il payout minimo e massimo a 100 rifornimenti ciascuno così non varia
“succeed” – “$value supplies blah blah $target blah ‘$msg'” prende qualsiasi importo rimosso dalla valuta (100) e lo mostra nel messaggio in chat insieme al messaggio di successo. $target dirà al sistema a chi volete che il messaggio vada. Il parametro $msg ristampa qualsiasi messaggio che l’utente ha impostato in modo che possa vederlo. Ho incluso questo in modo che sappiano che è cambiato.
“fail” – “You do no blah blah” è il messaggio se l’utente non ha 100 scorte (di nuovo, gli piace giocare d’azzardo)
“forceremove” – “false” permette agli utenti di non essere in grado di comprare se non hanno abbastanza scorte. Impostando questo a “True” permetterebbe di andare in valuta negativa.
Il secondo parametro ci permette di memorizzare il messaggio in un documento .txt etichettato come il nome dell’obiettivo questa volta ($target.txt) usando il parametro $overwritefile(“FileLocation”, “Text”). Diamo un’occhiata più da vicino:
$overwritefile(“FileLocation”) – usando $overwritefile invece di $savetofile l’utente può cambiare questo messaggio quando vuole.
“text” – “$target: $msg” questi due parametri salvano il nome utente del target e il messaggio che hanno digitato per stamparli entrambi sullo schermo in seguito.
Nel comando effettivo !buyotherwelcome metti semplicemente $readline(FileLocation) e lo punti verso il documento che hai creato (nel mio caso, il buyotherwelcome.txt). E questo è tutto quello che dovete fare per farlo funzionare.
!MYWELCOME
Infine, volevo un modo per i miei followers di vedere il loro messaggio anche se era dopo che erano entrati in chat se solo per il puro fatto che vogliono essere in grado di vedere che funziona. Questa è una cosa molto semplice da impostare. Ecco come:
Crea un comando, nel mio caso è !mywelcome, e mettici dentro il parametro $readrandline(FileLocation). Dentro di esso puntate semplicemente verso la cartella che ospita tutti i messaggi di benvenuto dell’utente (\user\ per me) con $user.txt alla fine. Per esempio, i miei sono così:
$readrandline(C:\Users\JoininMotion\Documents\Ankhbot\users\$user.txt)
Ecco fatto. Ora quando un utente digita il comando !mywelcome vedrà il proprio messaggio di benvenuto.
LA MACCHINA AUTOSUFFICIENTE
Seguendo il percorso impostato sopra sarete in grado di creare il vostro (quasi) completamente autonomo messaggio di benvenuto personalizzato creato dall’utente. Forse un giorno in futuro, se Marcin decide di continuare ad aggiornare Ankhbot, saremo in grado di creare un sistema veramente completamente autonomo. Fino ad allora, per tutti gli scopi intensivi, questo dovrà bastare per ora.