En raison de changements dans le fonctionnement de Medium, je ne tiendrai plus ce blog. Vous pouvez trouver mon nouveau blog à https://www.resonantdrifter.com et un lien direct vers cet article à https://www.resonantdrifter.com/blog/ankhbot-%E2%80%94-creating-an-almost-completely-autonomous-user-created-custom-welcome-message-program/
En raison de la fusion d’Ankhbot avec Streamlabs, cet article est maintenant légèrement dépassé, j’en ai donc fait un nouveau ! Veuillez vous rendre sur le bien nommé « Streamlabs Chatbot – Création d’un programme (presque) autonome de messages de bienvenue personnalisés créés par les utilisateurs » !
Il y a quelque temps, j’ai décidé de donner à mes adeptes de Twitch, que j’appelle Drifters, un moyen de créer leur propre message de bienvenue qui, moyennant une petite somme d’argent (appelée provisions dans mon canal), les accueillerait lorsqu’ils entreraient dans le chat. Cela leur permettrait de dépenser une partie de ces fournitures pour autre chose que des embuscades (la version de mon canal des casses) et de faire en sorte que la communauté se sente un peu plus comme la leur. Bien sûr, cela a également conduit à l’idée qu’ils puissent créer un message de bienvenue pour les autres utilisateurs – une façon amusante pour les adeptes de se moquer des autres adeptes. Heureusement, Ankhbot a inclus un moyen pour que les messages de bienvenue (entre autres choses) soient inclus lors de l’entrée d’utilisateurs spécifiques dans votre canal.
J’ai immédiatement mis ce plan en marche et ce fut un succès car j’ai pu utiliser le paramètre $removepoints() pour leur prendre des Supplies et ils me murmuraient le message qu’ils voulaient que leur message de bienvenue soit ou le nom d’utilisateur et le message de l’autre Drifter. Cependant, peu après cette percée (dans mon esprit), j’ai réalisé qu’il me serait presque impossible de répondre à leurs besoins de manière cohérente sans interrompre le jeu à plusieurs reprises. Cela m’a conduit sur le chemin à la recherche d’un moyen de faire un moyen complètement autonome pour les utilisateurs de créer et de modifier leurs messages de bienvenue à volonté.
Je vais être franc avec vous : il n’est pas possible de créer un message de bienvenue personnalisé complètement autonome créé par l’utilisateur dans Ankhbot. En passant mon idée devant Marcin Swierzowski sur Twitter, il a confirmé que mon idée ne pouvait tout simplement pas porter ses fruits.
John Paul @resonantdrifter
Presque. Besoin d’un moyen de définir automatiquement l’événement On Join par utilisateur pour lire automatiquement leur $user.txt spécifique… #ankhbot@AnkhHeart
Ankh Heart @AnkhHeart
@resonantdrifter Ce n’est pas possible. Vous devrez créer manuellement les événements On Join.
Cependant, mon entêtement a persisté et je suis tombé sur un moyen qui permettrait à l’utilisateur de créer et de modifier son propre message de bienvenue personnalisé (et celui des autres) à volonté avec TRÈS PEU DE CONFIGURATION INITIALE. Voici comment j’ai créé le message de bienvenue personnalisé créé par l’utilisateur (presque) complètement autonome!
En premier lieu, la partie la plus intensive de cette configuration (surtout si vous avez déjà beaucoup de followers ou si vous obtenez beaucoup de followers quotidiennement) est la configuration de la liste On Join Event. C’est dans cette liste que vous indiquez à Ankhbot ce que vous voulez qu’il fasse lorsqu’un utilisateur spécifique entre dans le chat. Malheureusement, cela ne peut pas être automatisé et c’est là que j’ai été bloqué dans mon grand projet. Je voulais vraiment qu’Ankhbot compile automatiquement cette liste à partir de mes followers actuels, mais l’automatisation de ce système n’est tout simplement pas possible, et vous devrez donc entrer manuellement une entrée pour chaque follower. Heureusement, vous n’aurez à le faire qu’une fois par follower. Après cela, chaque message se mettra automatiquement à jour tout seul.
Dans le système On Join Event, vous devrez créer une entrée pour chacun de vos followers en le liant à un document .txt qui affichera leur commande en entrant dans le chat.
Premièrement, créez un dossier où vous voulez stocker tous les documents .txt qu’Ankhbot créera. Rappelez-vous, bien qu’ils soient petits (en termes de taille de fichier), il y aura de nombreux fichiers créés (en supposant que vous obteniez beaucoup de followers). Une fois que c’est fait, retournez dans Ankhbot et créez une commande pour chacun de vos suiveurs comme suit (indice : tout reste identique sauf le slot Info):
- UserGroup : Gardez ceci « User_Specific »
- Info : nom d’utilisateur individuel du follower
- Client Only : « False » (True signifie que seul l’utilisateur pourra le voir)
- Enabled : « True » (False va, évidemment, le désactiver pour cet utilisateur)
- Vol : Réglez à n’importe quel niveau confortable pour vous et vos spectateurs
- Message : $readline(C:\user\$user.txt)
Regardons de plus près le slot « Message » :
$readline(C:\user\$user.txt)
Le paramètre $readline() lit simplement la première ligne du document texte vers lequel vous le dirigez. La destination est mise entre les parenthèses. C’est une partie importante : nommer le document texte $user.txt permet à Ankhbot de rechercher un document .txt étiqueté avec le nom de l’utilisateur (ceci bouclera la boucle plus loin dans ce document).
Une fois que nous entrons tous les followers actuels, nous avons terminé. Cependant, à mesure que nous obtenons plus de followers, nous devons créer une nouvelle entrée pour chacun d’eux. C’est le plus de travail que nous aurons à faire sur ce système presque autonome.
COMMANDES DE CHAT
Maintenant que nous avons la configuration de base, créons les commandes qui permettront aux utilisateurs de définir et de modifier leur message de bienvenue. Juste pour que nous soyons sur la même page, ma commande pour que les suiveurs créent leur propre message de bienvenue est !buywelcome et la monnaie de mon canal est les fournitures.
!BUYWELCOME
Pour que cela fonctionne, vous devez d’abord créer un document .txt avec deux paramètres à l’intérieur : $removepoints(« target », « min », « max », « succeed », « fail », « forceremove ») et $overwritefile(« FileLocation », « Text »). J’ai étiqueté mon document buywelcome.txt et l’ai rempli ainsi :
$removepoints(« $user », « 100 », « 100 », « Les fournitures de valeur $ ont été retirées de votre inventaire et votre message de bienvenue a été modifié en ‘$msg' », « Vous n’avez pas assez de fournitures dans votre inventaire ! », « false ») $overwritefile(« C:\Ankhbot\user\$user.txt », »$user : $msg »)
Le premier paramètre – $removepoints() – fait exactement ce qu’il dit et retire des points (ou de la monnaie) à l’utilisateur qui entre la commande. Dans cet exemple, il enlève 100 fournitures (si l’utilisateur en a assez) et renvoie un message à la fois s’il a ou n’a pas assez de fournitures. Regardons de plus près :
- « $user » – relie le paramètre $removepoints() à l’utilisateur qui entre dans la commande
- « min », « max » – dans mon paramètre fixe le gain minimum et maximum à 100 fournitures chacun afin qu’il ne varie pas
- « succeed » – « $value fournitures bla bla bla ‘$msg' » prend n’importe quel montant retiré de la monnaie (100) et l’affiche dans le message in-chat avec le message de succès. Le paramètre $msg réimprimera le message que l’utilisateur a défini afin qu’il puisse le voir. Je l’ai inclus pour qu’ils sachent qu’il a changé.
- « fail » – « Vous ne faites pas bla bla » est le message si l’utilisateur n’a pas 100 fournitures (ils aiment jouer)
- « forceremove » – « false » permet aux utilisateurs de ne pas pouvoir acheter s’ils n’ont pas assez de fournitures. Le réglage de ce paramètre à « True » permettrait aux de passer en monnaie négative.
Le deuxième paramètre nous permet de stocker le message dans un document .txt étiqueté au nom de l’utilisateur ($user.txt) en utilisant le paramètre $overwritefile(« FileLocation », « Text »).
Avant de nous lancer, je veux expliquer quelque chose. Vous vous rappelez quand nous avons créé la liste des événements On Join ? Nous avons créé un dossier pour héberger tous les fichiers .txt des utilisateurs, mais nous n’avons pas créé de véritables fichiers texte. Pourquoi ? Cela permet de s’assurer qu’un utilisateur qui n’a rien entré comme message de bienvenue n’en recevra pas lorsqu’il rejoindra le chat. Regardons de plus près:
- $overwritefile(« FileLocation ») – en utilisant $overwritefile au lieu de $savetofile, l’utilisateur peut changer ce message quand il le souhaite.
- « text » – « $user : $msg » ces deux paramètres sauvegardent le nom d’utilisateur de l’utilisateur et le message qu’il a tapé pour les imprimer à l’écran tous les deux plus tard.
Dans la commande réelle !buywelcome vous mettez simplement $readline(FileLocation) et vous le dirigez vers le document que vous avez créé (dans mon cas, le buywelcome.txt). C’est tout ce que vous devez faire pour que cela fonctionne.
!BUYOTHERWELCOME
Pour créer une expérience amusante et quelque peu compétitive, je voulais permettre à mes adeptes de pouvoir créer des messages de bienvenue pour les autres utilisateurs. Je savais que cela ressemblerait beaucoup à la commande !buywelcome, mais que cela présenterait ses propres difficultés puisqu’il s’agit d’un utilisateur qui crée un message pour un autre. Voici comment je l’ai mis en place :
Comme la commande précédente, vous créez un document .txt avec les paramètres $removepoints(« target », « min », « max », « succeed », « fail », « forceremove ») et $overwritefile(« FileLocation », « Text ») dedans. Contrairement à la commande précédente, vous devrez la configurer de manière légèrement différente pour qu’elle fonctionne. Voici à quoi ressemble la mienne:
$removepoints(« $user », « 100 », « 100 », « Les fournitures de $value ont été retirées de votre inventaire et le message de bienvenue de $target a été modifié en ‘$msg' », « Vous n’avez pas assez de fournitures dans votre inventaire ! », « false ») $overwritefile(« C:\Users\JohninMotion\Documents\Ankhbot\user\$target.txt », »$msg »)
Le premier paramètre – $removepoints() – fait exactement ce qu’il dit et retire des points (ou de la monnaie) à l’utilisateur qui entre la commande. Dans ce cas, il retire 100 fournitures (si l’utilisateur en a assez) et renvoie un message à la fois s’il a ou n’a pas assez de fournitures. La différence réside dans le fait qu’elle indique une cible pour le message. Regardons de plus près :
- « $user » – relie le paramètre $removepoints() à l’utilisateur qui entre la commande
- « min », « max » – dans mon paramètre fixe le gain minimum et maximum à 100 fournitures chacun pour qu’il ne varie pas
- « succeed » – « $value supplies blah blah $target blah ‘$msg' » prend le montant retiré de la monnaie (100) et l’affiche dans le message in-chat avec le message de succès. Le paramètre $target indique au système à qui vous voulez que le message soit adressé. Le paramètre $msg réimprime le message que l’utilisateur a défini afin qu’il puisse le voir. Je l’ai inclus pour qu’ils sachent qu’il a changé.
- « fail » – « Vous ne faites pas bla bla » est le message si l’utilisateur n’a pas 100 fournitures (encore une fois, ils aiment jouer)
- « forceremove » – « false » permet aux utilisateurs de ne pas être en mesure d’acheter s’ils n’ont pas assez de fournitures. Le réglage de ce paramètre sur « True » permettrait au de passer en monnaie négative.
Le deuxième paramètre nous permet de stocker le message dans un document .txt étiqueté comme le nom de la cible cette fois ($target.txt) en utilisant le paramètre $overwritefile(« FileLocation », « Text »). Regardons de plus près :
- $overwritefile(« FileLocation ») – en utilisant $overwritefile au lieu de $savetofile, l’utilisateur peut modifier ce message quand il le souhaite.
- « text » – « $target : $msg » ces deux paramètres sauvegardent le nom d’utilisateur de la cible et le message qu’elle a tapé pour les imprimer à l’écran tous les deux plus tard.
Dans la commande réelle !buyotherwelcome vous mettez simplement $readline(FileLocation) et vous le dirigez vers le document que vous avez créé (dans mon cas, le buyotherwelcome.txt). Et c’est tout ce que vous devez faire pour que cela fonctionne.
!MYWELCOME
Enfin, je voulais un moyen pour mes followers de voir leur message même si c’était après qu’ils soient entrés dans le chat si seulement pour le simple fait qu’ils veulent être en mesure de voir que cela a fonctionné. C’est une chose très simple à mettre en place. Voici comment :
Créer une commande, dans mon cas c’est !mywelcome, et mettez à l’intérieur le paramètre $readrandline(FileLocation). A l’intérieur, il suffit de la diriger vers le dossier abritant tous les messages de bienvenue des utilisateurs (\user\ pour moi) avec $user.txt à la fin. Par exemple, le mien ressemble à :
$readrandline(C:\Users\JoininMotion\Documents\Ankhbot\users\$user.txt)
C’est tout. Maintenant, quand un utilisateur tape la commande !mywelcome, il verra son propre message de bienvenue.
LA MACHINE AUTO-SUFFISANTE
En suivant le chemin établi ci-dessus, vous serez en mesure de créer votre propre message de bienvenue personnalisé (presque) complètement autonome créé par l’utilisateur. Peut-être qu’un jour dans le futur, si Marcin décide de continuer à mettre à jour Ankhbot, nous serons en mesure de créer un système vraiment complètement autonome. En attendant, à toutes fins utiles, ceci devra faire l’affaire pour le moment.