Ankhbot – Creación de un programa de mensajes de bienvenida personalizado (casi) completamente autónomo creado por el usuario

Debido a los cambios en el funcionamiento de Medium, ya no mantendré este blog. ¡Puedes encontrar mi nuevo blog en https://www.resonantdrifter.com y un enlace directo a este artículo en https://www.resonantdrifter.com/blog/ankhbot-%E2%80%94-creating-an-almost-completely-autonomous-created-custom-welcome-message-program/

Debido a la fusión de Ankhbot con Streamlabs, este artículo ha quedado ligeramente obsoleto por lo que he hecho uno nuevo! Por favor, dirígete al acertado nombre de «Streamlabs Chatbot – Creando un programa de mensajes de bienvenida personalizados (casi) autónomos creados por el usuario»

Hace un tiempo decidí dar a mis seguidores de Twitch, a los que llamo Drifters, una forma de crear su propio mensaje de bienvenida que, por una pequeña suma de dinero (llamada suministros en mi canal), les diera la bienvenida cuando entraran en el chat. Esto les permitiría gastar algunos de esos suministros en algo más que emboscadas (la versión de mi canal de los atracos) y hacer que la comunidad se sintiera un poco más como suya. Por supuesto, esto también llevó a la idea de que pudieran crear un mensaje de bienvenida para otros usuarios, una forma divertida de que los seguidores se metan con otros seguidores. Por suerte, Ankhbot ha incluido una forma de que los mensajes de bienvenida (entre otras cosas) se incluyan al entrar determinados usuarios en su canal.

Inmediatamente puse en marcha este plan y fue un éxito, ya que pude utilizar el parámetro $removepoints() para tomar respuestas de ellos y me susurraban el mensaje que querían que fuera su mensaje de bienvenida o el nombre de usuario y el mensaje del otro Drifter. Sin embargo, poco después de este avance (en mi mente), me di cuenta de que sería casi imposible para mí mantener su necesidad de manera consistente sin interrumpir el juego repetidamente. Eso me llevó por el camino en busca de una manera de hacer una forma completamente autónoma para que los usuarios puedan crear y cambiar sus mensajes de bienvenida a voluntad.

Seré franco con usted: no es posible crear un mensaje de bienvenida personalizado completamente autónomo creado por el usuario en Ankhbot. Ejecutar mi idea más allá de Marcin Swierzowski en Twitter, confirmó que mi idea simplemente no era capaz de dar sus frutos.

John Paul @resonantdrifter

Casi. Necesito una manera de establecer automáticamente el evento On Join por usuario para leer su $user.txt específico automáticamente… #ankhbot@AnkhHeart

Ankh Heart @AnkhHeart

@resonantdrifter Eso no es posible. Tendrás que crear manualmente los eventos On Join manualmente.

Sin embargo, mi terquedad persistió y di con una forma que permitiría al usuario crear y cambiar su (y otros) propio mensaje de bienvenida personalizado a voluntad con MUY POCA CONFIGURACIÓN INICIAL. Lo siguiente es cómo creé el (casi) completamente autónomo mensaje de bienvenida personalizado creado por el usuario!

Primero y más importante, la parte más intensiva de esta configuración (especialmente si usted ya tiene un montón de seguidores o recibe un montón de seguidores diariamente) es la configuración de la lista de eventos al unirse. La lista de eventos On Join es donde le dices a Ankhbot lo que quieres que haga cuando un usuario específico entra en el chat. Esto, por desgracia, no puede ser automatizado y fue donde me colgué en mi gran esquema. Realmente quería que Ankhbot autocompilara esta lista a partir de mis seguidores actuales, pero la automatización de este sistema simplemente no es posible, por lo que tendrás que introducir manualmente una entrada para cada seguidor. Por suerte, sólo tendrás que hacerlo una vez por seguidor. Después, cada mensaje se actualizará automáticamente por sí mismo.

En el sistema On Join Event tendrás que crear una entrada para cada uno de tus seguidores vinculándola a un documento .txt que mostrará su comando al entrar en el chat.

Primero, crea una carpeta donde quieras almacenar todos los documentos .txt que creará Ankhbot. Recuerda que, aunque serán pequeños (en cuanto al tamaño de los archivos), se crearán numerosos archivos (suponiendo que tengas muchos seguidores). Una vez hecho esto, vuelve a Ankhbot y crea un comando para cada uno de tus seguidores de la siguiente manera (pista: todo permanece igual excepto el espacio de información):

  • UserGroup: Mantenga este «User_Specific»
  • Info: nombre de usuario individual del seguidor
  • Client Only: «False» (True significa que sólo el usuario podrá verlo)
  • Enabled: «True» (False, obviamente, lo desactivará para ese usuario)
  • Vol: Ajústalo al nivel que sea cómodo para ti y tus espectadores
  • Mensaje: $readline(C:\user\$user.txt)

Veamos más de cerca la ranura «Mensaje»:

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

El parámetro $readline() simplemente lee la primera línea de cualquier documento de texto al que se apunte. El destino se pone dentro de los paréntesis. Esta es una parte importante: nombrar el documento de texto $usuario.txt permite a Ankhbot buscar un documento .txt etiquetado con el nombre del usuario (esto se completará más adelante en este documento).

Una vez que introducimos todos los seguidores actuales hemos terminado. Sin embargo, a medida que vayamos consiguiendo más seguidores deberemos crear una nueva entrada para cada uno de ellos. Este es el mayor trabajo que tendremos que hacer en este sistema casi autónomo.

COMANDOS DEL CHAT

Ahora que tenemos el núcleo configurado, vamos a crear los comandos que permitirán a los usuarios establecer y cambiar su mensaje de bienvenida. Sólo para que estemos en la misma página, mi comando para que los seguidores creen su propio mensaje de bienvenida es !buywelcome y la moneda en mi canal es suministros.

!BUYWELCOME

Para que esto funcione debes crear primero un documento .txt con dos parámetros dentro: $removepoints(«target», «min», «max», «succeed», «fail», «forceremove») y $overwritefile(«FileLocation», «Text»). He etiquetado mi documento buywelcome.txt y lo he rellenado así:

$removepoints(«$user», «100», «100», «Los suministros de $valor han sido eliminados de tu inventario y tu mensaje de bienvenida ha sido cambiado a ‘$msg'», «¡No tienes suficientes suministros en tu inventario!», «false») $overwritefile(«C:\Ankhbot\user\$user.txt»,»$user: $msg»)

El primer parámetro – $removepoints() – hace exactamente lo que dice y elimina puntos (o moneda) del usuario que introduce el comando. En este caso elimina 100 suministros (si el usuario tiene suficientes) y devuelve un mensaje tanto si tiene como si no tiene suficientes suministros. Veamos con más detalle:

  • «$usuario» – conecta el parámetro $removepoints() con el usuario que introduce el comando
  • «min», «max» – en mi parámetro establece el pago mínimo y máximo en 100 suministros cada uno para que no varíe
  • «succeed» – «$value supplies blah blah blah ‘$msg'» toma la cantidad que se elimina de la moneda (100) y la muestra en el mensaje en el chat junto con el mensaje de éxito. El parámetro $msg reimprimirá el mensaje que el usuario haya establecido para que lo puedan ver. Incluí esto para que sepan que ha cambiado.
  • «fail» – «You do no blah blah» es el mensaje si el usuario no tiene 100 suministros (les gusta apostar)
  • «forceremove» – «false» permite que los usuarios no puedan comprar si no tienen suficientes suministros. Poniendo esto a «True» permitiría a los entrar en moneda negativa.

El segundo parámetro nos permite almacenar el mensaje en un documento .txt etiquetado como el nombre del usuario ($user.txt) usando el parámetro $overwritefile(«FileLocation», «Text»).

Antes de entrar en esto, quiero explicar algo. ¿Recuerdas cuando creamos la lista de eventos On Join? Creamos una carpeta para albergar todos los archivos .txt de los usuarios, pero no creamos ningún archivo de texto real. ¿Por qué? Esto asegura que cuando un usuario que no ha introducido nada como mensaje de bienvenida no recibirá uno cuando se una al chat. Echemos un vistazo más de cerca:

  • $overwritefile(«FileLocation») – usando $overwritefile en lugar de $savetofile el usuario puede cambiar este mensaje cuando quiera.
  • «text» – «$user: $msg» estos dos parámetros guardan el nombre de usuario y el mensaje que escribió para imprimirlos en pantalla ambos más tarde.

En el comando real de !buywelcome simplemente pones $readline(FileLocation) y lo apuntas hacia el documento que creaste (en mi caso, el buywelcome.txt). Eso es todo lo que necesitas hacer para que esto funcione.

!BUYOTHERWELCOME

Para crear una experiencia divertida y algo competitiva, quería permitir a mis seguidores poder crear mensajes de bienvenida para otros usuarios. Sabía que esto se parecería mucho al comando «buywelcome», pero presentaría sus propios obstáculos, ya que es un usuario el que crea un mensaje para otro. Así es como lo configuré:

Al igual que el comando anterior, se crea un documento .txt con los parámetros $removepoints(«target», «min», «max», «succeed», «fail», «forceremove») y $overwritefile(«FileLocation», «Text»). A diferencia del comando anterior, tendrás que configurarlo de forma ligeramente diferente para que funcione. Así es como se ve el mío:

$removepoints(«$usuario», «100», «100», «Los suministros de $valor han sido eliminados de tu inventario y el mensaje de bienvenida de $objetivo ha sido cambiado a ‘$msg'», «¡No tienes suficientes suministros en tu inventario!», «false») $overwritefile(«C:\NUsers\NJohninMotion\Documents\NAnkhbot\user$target.txt»,»$msg»)

El primer parámetro – $removepoints() – hace exactamente lo que dice y elimina puntos (o moneda) del usuario que introduce el comando. En este caso elimina 100 suministros (si el usuario tiene suficientes) y devuelve un mensaje tanto si tiene como si no tiene suficientes suministros. La diferencia es que introduce un objetivo para el mensaje. Veamos con más detalle:

  • «$usuario» – conecta el parámetro $removepoints() con el usuario que introduce el comando
  • «min», «max» – en mi parámetro establece el pago mínimo y máximo en 100 suministros cada uno para que no varíe
  • «succeed» – «$value supplies blah blah $target blah ‘$msg'» toma la cantidad que se elimina de la moneda (100) y la muestra en el mensaje del chat junto con el mensaje de éxito. El parámetro $target le dirá al sistema a quién quiere que le llegue el mensaje. El parámetro $msg reimprimirá el mensaje que el usuario haya establecido para que lo puedan ver. Incluí esto para que sepan que ha cambiado.
  • «fail» – «You do no blah blah» es el mensaje si el usuario no tiene 100 suministros (de nuevo, les gusta apostar)
  • «forceremove» – «false» permite que los usuarios no puedan comprar si no tienen suficientes suministros. Establecer esto a «True» permitiría que el ir en moneda negativa.

El segundo parámetro nos permite almacenar el mensaje en un documento .txt etiquetado como el nombre del objetivo esta vez ($target.txt) utilizando el parámetro $overwritefile(«FileLocation», «Text»). Echemos un vistazo más de cerca:

  • $overwritefile(«FileLocation») – al usar $overwritefile en lugar de $savetofile el usuario puede cambiar este mensaje cuando quiera.
  • «text» – «$target: $msg» estos dos parámetros guardan el nombre de usuario del target y el mensaje que escribieron para imprimirlos en pantalla ambos más tarde.

En el comando real de !buyotherwelcome simplemente pones $readline(FileLocation) y lo apuntas hacia el documento que creaste (en mi caso, el buyotherwelcome.txt). ¡Y eso es todo lo que tienes que hacer para que esto funcione.

!MYWELCOME

Por último, quería una forma de que mis seguidores vieran su mensaje aunque fuera después de haber entrado en el chat aunque sólo fuera por el mero hecho de querer ver que sí funcionaba. Esto es algo muy sencillo de configurar. He aquí cómo:

Crea un comando, en mi caso es !mywelcome, y pon dentro de él el parámetro $readrandline(FileLocation). Dentro simplemente lo apuntas hacia la carpeta que alberga todos los mensajes de bienvenida de los usuarios (\user\ para mí) con $user.txt al final. Por ejemplo, los míos tienen el siguiente aspecto:

$readrandline(C:\NUsuarios\NdeJoininMotion\NDocumentos\NAnkhbot\Nde usuarios$user.txt)

Eso es todo. Ahora cuando un usuario escriba el comando !mywelcome verá su propio mensaje de bienvenida.

LA MÁQUINA AUTOSUFICIENTE

Siguiendo la ruta establecida anteriormente podrás crear tu propio mensaje de bienvenida personalizado (casi) completamente autónomo creado por el usuario. Quizás algún día en el futuro, si Marcin decide seguir actualizando Ankhbot, podremos crear un sistema verdaderamente autónomo. Hasta entonces, para todos los propósitos intensivos, esto tendrá que hacer por ahora.

Deja un comentario