Ankhbot – Crearea unui program (aproape) complet autonom de mesaj de bun venit personalizat creat de utilizator

Din cauza unor schimbări în modul de funcționare a Medium, nu voi mai ține acest blog. Puteți găsi noul meu blog la https://www.resonantdrifter.com și un link direct către acest articol la https://www.resonantdrifter.com/blog/ankhbot-%E2%80%94-creating-an-almost-completely-completely-autonomous-user-created-custom-welcome-message-program-program/

Din cauza fuziunii Ankhbot cu Streamlabs, acest articol este acum ușor depășit, așa că am făcut unul nou! Vă rugăm să vă îndreptați spre cel denumit pe bună dreptate „Streamlabs Chatbot – Crearea unui program (aproape) autonom de mesaj de bun venit personalizat creat de utilizator”!

Cu ceva timp în urmă am decis să le ofer urmăritorilor mei de pe Twitch, pe care îi numesc Drifters, o modalitate de a-și crea propriul mesaj de bun venit care, pentru o sumă mică de bani (numită supplies în canalul meu), îi va întâmpina atunci când vor intra în chat. Acest lucru le-ar permite să cheltuiască o parte din aceste provizii pe altceva decât pe ambuscade (versiunea canalului meu de jafuri) și să facă comunitatea să se simtă un pic mai mult ca a lor. Desigur, acest lucru a dus, de asemenea, la ideea ca ei să poată crea un mesaj de bun venit pentru alți utilizatori – o modalitate amuzantă pentru adepți de a se pune cu alți adepți. Din fericire, Ankhbot a inclus o modalitate prin care mesajele de bun venit (printre altele) pot fi incluse la intrarea anumitor utilizatori pe canalul tău.

Am pus imediat acest plan în mișcare și a fost un succes, deoarece am reușit să folosesc parametrul $removepoints() pentru a lua Supplies de la ei și ei îmi șopteau mesajul pe care doreau să fie mesajul lor de bun venit sau numele de utilizator și mesajul celuilalt Drifter. Cu toate acestea, la scurt timp după această descoperire (în mintea mea), mi-am dat seama că ar fi aproape imposibil pentru mine să țin pasul cu nevoia lor într-o manieră consecventă fără a întrerupe jocul în mod repetat. Acest lucru m-a condus pe calea căutării unei modalități de a face o modalitate complet autonomă prin care utilizatorii să își creeze și să își schimbe mesajele de bun venit după bunul plac.

Voi fi sincer cu voi: nu este posibil să creați un mesaj de bun venit personalizat complet autonom creat de utilizator în Ankhbot. Trecând ideea mea pe lângă Marcin Swierzowski pe Twitter, el a confirmat că ideea mea pur și simplu nu a fost capabilă să dea roade.

John Paul @resonantdrifter

Pe aproape. Am nevoie de o modalitate de a seta automat evenimentul On Join pentru fiecare utilizator pentru a citi automat $user.txt-ul lor specific… #ankhbot@AnkhHeart

Ankh Heart @AnkhHeart

@resonantdrifter Asta nu este posibil. Va trebui să creați manual evenimentele On Join Events manual.

Cu toate acestea, încăpățânarea mea a persistat și am dat peste o modalitate care ar permite utilizatorului să creeze și să schimbe propriul mesaj de bun venit personalizat (și al altora) în voie, cu FOARTE PUȚINĂ CONFIGURARE INIȚIALĂ. În cele ce urmează este modul în care am creat mesajul de bun venit personalizat (aproape) complet autonom creat de utilizator!

În primul rând, cea mai intensivă parte a acestei configurări (mai ales dacă aveți deja mulți adepți sau primiți mulți adepți zilnic) este configurarea listei de evenimente On Join Event. Lista On Join Event este locul în care îi spuneți lui Ankhbot ce doriți să facă atunci când un anumit utilizator intră în chat. Din păcate, acest lucru nu poate fi automatizat și a fost locul în care m-am blocat în marea mea schemă. Am vrut cu adevărat ca Ankhbot să compileze automat această listă din urmăritorii mei actuali, dar automatizarea acestui sistem pur și simplu nu este posibilă, așa că va trebui să introduceți manual o intrare pentru fiecare urmăritor. Din fericire, va trebui să faceți acest lucru doar o singură dată pentru fiecare urmăritor. După aceea, fiecare mesaj se va actualiza automat de unul singur.

În sistemul On Join Event va trebui să creați o intrare pentru fiecare dintre urmăritorii dvs., legând-o la un fișier .txt care va afișa comanda lor la intrarea în chat.

În primul rând, creați un dosar în care doriți să stocați toate documentele .txt pe care Ankhbot le va crea. Amintiți-vă că, deși acestea vor fi mici (din punct de vedere al dimensiunii fișierelor), vor fi create numeroase fișiere (presupunând că veți avea mulți urmăritori). După ce acest lucru este făcut, întoarceți-vă în Ankhbot și creați o comandă pentru fiecare dintre adepții dvs. după cum urmează (indiciu: totul rămâne la fel, cu excepția slotului Info):

  • UserGroup: Păstrați acest lucru „User_Specific”
  • Info: numele de utilizator al urmăritorului individual
  • Client Only: „False” (Adevărat înseamnă că numai utilizatorul va putea să o vadă)
  • Activat: „True” (False îl va dezactiva, evident, pentru acel utilizator)
  • Vol: Setați la orice nivel confortabil pentru dvs. și pentru telespectatori
  • Mesaj: $readline(C:\user\$user.txt)

Să aruncăm o privire mai atentă la slotul „Message”:

$readline(C:\user\$user.txt)

Parametrul $readline() citește pur și simplu prima linie din orice document de text pe care îl indicați. Destinația este pusă între paranteze. Aceasta este o parte importantă: numirea documentului text $user.txt îi permite lui Ankhbot să caute un document .txt etichetat cu numele utilizatorului (acest lucru se va completa mai jos în acest document).

După ce introducem toți urmăritorii actuali, am terminat. Cu toate acestea, pe măsură ce obținem mai mulți urmăritori, trebuie să creăm o nouă intrare pentru fiecare dintre ei. Aceasta este cea mai multă muncă pe care va trebui să o facem în acest sistem aproape autonom.

COMENZI DE ÎNTÂLNIRE

Acum că avem configurația de bază, haideți să creăm comenzile care vor permite utilizatorilor să își seteze și să își schimbe mesajul de bun venit. Doar ca să fim pe aceeași lungime de undă, comanda mea pentru ca adepții să își creeze propriul mesaj de bun venit este !buywelcome, iar moneda din canalul meu este supplies.

!BUYWELCOME

Pentru ca acest lucru să funcționeze trebuie mai întâi să creați un mesaj .txt cu doi parametri în interior: $removepoints(„target”, „min”, „max”, „success”, „fail”, „forceremove”) și $overwritefile(„FileLocation”, „Text”). Mi-am etichetat documentul buywelcome.txt și l-am completat astfel:

$removepoints(„$user”, „100”, „100”,”$value supplies have been removed from your inventory and your welcome message has been changed to ‘$msg'”, „You not have enough supplies in your inventory!”, „false”) $overwritefile(„C:\Ankhbot\user\$user.txt”,”$user: $msg”)

Primul parametru – $removepoints() – face exact ceea ce spune și elimină punctele (sau moneda) de la utilizatorul care introduce comanda. În acest caz, elimină 100 de consumabile (dacă utilizatorul are suficiente) și returnează un mesaj atât dacă are sau nu suficiente consumabile. Să aruncăm o privire mai atentă:

  • „$user” – conectează parametrul $removepoints() la utilizatorul care introduce comanda
  • „min”, „max” – în parametrul meu setează plata minimă și maximă la 100 de provizii fiecare, astfel încât să nu varieze
  • „success” – „$value supplies blah blah blah blah ‘$msg'” ia orice sumă este eliminată din monedă (100) și o afișează în mesajul din chat împreună cu mesajul de succes. Parametrul $msg va retipări orice mesaj setat de utilizator, astfel încât acesta să îl poată vedea. Am inclus acest lucru pentru ca ei să știe că s-a schimbat.
  • „fail” – „You do no blah blah” este mesajul în cazul în care utilizatorul nu are 100 de provizii (le place să parieze)
  • „forceremove” – „false” permite utilizatorilor să nu poată cumpăra dacă nu au suficiente provizii. Setarea acestui parametru la „True” le-ar permite să treacă în moneda negativă.

Cel de-al doilea parametru ne permite să stocăm mesajul într-un document .txt etichetat ca fiind numele utilizatorului ($user.txt) folosind parametrul $overwritefile(„FileLocation”, „Text”).

Înainte de a intra în acest lucru, vreau să explic ceva. Vă amintiți când am creat lista de evenimente On Join Event? Am creat un folder pentru a găzdui toate fișierele .txt ale utilizatorilor, dar nu am creat niciun fișier text propriu-zis. De ce? Acest lucru asigură că atunci când un utilizator care nu a introdus nimic ca mesaj de bun venit nu va primi unul atunci când se alătură chat-ului. Să aruncăm o privire mai atentă:

  • $overwritefile(„FileLocation”) – folosind $overwritefile în loc de $savetofile, utilizatorul poate schimba acest mesaj oricând dorește.
  • „text” – „$user: $msg” acești doi parametri salvează numele de utilizator al utilizatorului și mesajul pe care l-a tastat pentru a le imprima pe ecran ambele mai târziu.

În comanda efectivă !buywelcome se pune pur și simplu $readline(FileLocation) și se îndreaptă spre documentul pe care l-ați creat (în cazul meu, buywelcome.txt). Asta este tot ce trebuie să faceți pentru ca acest lucru să funcționeze.

!BUYOTHERWELCOME

Pentru a crea o experiență distractivă și oarecum competitivă, am vrut să le permit adepților mei să poată crea mesaje de bun venit pentru alți utilizatori. Știam că acest lucru se va asemăna foarte mult cu comanda !buywelcome, dar va prezenta propriile obstacole, deoarece este vorba de un utilizator care creează un mesaj pentru altul. Iată cum am configurat acest lucru:

La fel ca la comanda anterioară, creați un document .txt cu parametrii $removepoints(„target”, „min”, „max”, „success”, „fail”, „forceremove”) și $overwritefile(„FileLocation”, „Text”) în el. Spre deosebire de comanda anterioară, va trebui să o configurați puțin diferit pentru a o face să funcționeze. Iată cum arată a mea:

$removepoints(„$user”, „100”, „100”,”$value supplies have been removed from your inventory and $target’s welcome message has been changed to ‘$msg'”, „You do not have enough supplies in your inventory!”, „false”) $overwritefile(„C:\Users\JohninMotion\Documents\Ankhbot\user\$target.txt”,”$msg”)

Primul parametru – $removepoints() – face exact ceea ce spune și elimină puncte (sau valută) de la utilizatorul care introduce comanda. În acest caz, elimină 100 de consumabile (dacă utilizatorul are suficiente) și returnează un mesaj atât dacă are sau nu suficiente consumabile. Diferența constă în faptul că introduce o țintă pentru mesaj. Să aruncăm o privire mai atentă:

  • „$user” – conectează parametrul $removepoints() la utilizatorul care introduce comanda
  • „min”, „max” – în parametrul meu setează plata minimă și maximă la 100 de provizii fiecare, astfel încât să nu varieze
  • „success” – „$value supplies blah blah blah $target blah ‘$msg'” ia orice sumă este eliminată din valută (100) și o afișează în mesajul din chat împreună cu mesajul de succes. $target îi va spune sistemului cui doriți ca mesajul să ajungă. Parametrul $msg va retipări orice mesaj setat de utilizator, astfel încât acesta să îl poată vedea. Am inclus acest lucru pentru ca ei să știe că s-a schimbat.
  • „fail” – „You do no blah blah” este mesajul dacă utilizatorul nu are 100 de provizii (din nou, le place să parieze)
  • „forceremove” – „false” permite utilizatorilor să nu poată cumpăra dacă nu au suficiente provizii. Setarea acestui parametru la „True” le-ar permite să treacă în moneda negativă.

Cel de-al doilea parametru ne permite să stocăm mesajul într-un document .txt etichetat ca fiind numele țintei de data aceasta ($target.txt) folosind parametrul $overwritefile(„FileLocation”, „Text”). Să aruncăm o privire mai atentă:

  • $overwritefile(„FileLocation”) – folosind $overwritefile în loc de $savetofile, utilizatorul poate modifica acest mesaj oricând dorește.
  • „text” – „$target: $msg” acești doi parametri salvează numele de utilizator al țintei și mesajul pe care l-a tastat pentru a le imprima pe ecran ambele mai târziu.

În comanda efectivă !buyotherwelcome pur și simplu se pune $readline(FileLocation) și se îndreaptă spre documentul pe care l-ați creat (în cazul meu, buyotherwelcome.txt). Și asta este tot ce trebuie să faceți pentru ca acest lucru să funcționeze.

!MYWELCOME

În cele din urmă, am vrut o modalitate prin care adepții mei să vadă mesajul lor chiar și după ce au intrat în chat, chiar și numai pentru simplul fapt că doresc să poată vedea că a funcționat. Acesta este un lucru foarte simplu de configurat. Iată cum:

Creăm o comandă, în cazul meu este !mywelcome, și punem în interiorul ei parametrul $readrandline(FileLocation). Înăuntru pur și simplu o îndreptați spre folderul care găzduiește toate mesajele de bun venit ale utilizatorilor (\user\ în cazul meu) cu $user.txt la sfârșit. De exemplu, al meu arată astfel:

$readrandline(C:\Users\JoinMotion\Documents\Ankhbot\users\$user.txt)

Asta este. Acum, când un utilizator tastează comanda !mywelcome, va vedea propriul mesaj de bun venit.

MĂȘINA AUTOSUFICIENTĂ

Prin urmarea căii stabilite mai sus veți putea să vă creați propriul mesaj de bun venit personalizat (aproape) complet autonom creat de utilizator. Poate că într-o zi, în viitor, dacă Marcin decide să continue să actualizeze Ankhbot, vom putea crea un sistem cu adevărat complet autonom. Până atunci, pentru toate scopurile intensive, acest lucru va trebui să fie suficient deocamdată.

Lasă un comentariu