Las tareas de asignación de títulos son de las mas demandantes de un reino, haciendo que perfiles o jugadores del mismo deban dedicarse con especial mimo. Cubriendo diferentes franjas horarias para dar “la cobertura deseada”. Es por esto, hemos decidido incorporar una primera versión de gestión de títulos que hará que esta tarea tan demandante, sea simple y lo mejor AUTOMATICA. En el apartado de Gestión títulos, dispondréis de una herramienta para implementar la funcionalidad de asignación de títulos automática.
Esta nueva funcionalidad requiere de la ejecución continua del programa, es decir, el programa debe estar corriendo el tiempo que deseemos tener disponible el automatismo. Dicho de otra forma, si queremos tener 24/7 la gestión de títulos de manera automática, deberemos tener ejecutándose el programa 24/7 .
RECOMENDACIONES
El proceso de asignación de títulos se basa en una arquitectura de hilos y colas, es por esto, algunas de las recomendaciones que sugerimos son:
- Utilizar el programa en modo asignación de títulos de manera exclusiva (durante el tiempo que el proceso esté corriendo, no se recomienda usar el resto de opciones disponibles en la aplicación, incluidas extracciones).
- El programa requiere de la ventana activa, es decir, no se deberá ejecutar ninguna otra tarea en el ordenador dónde se esté ejecutando. En caso de necesidad, se puede instalar el programa sobre una maquina virtual y con ello independizar su ejecución.
- Ejecutar “Calcular coordenadas” desde la vista de “Configuraciones y Parametrizaciones” para determinar coordenadas y posición de la ventana del emulador.
- El uso de una cuenta secundaria asociada a un correo alternativo. Recordemos, este proceso es un tarea que opera sobre el juego al tener que introducir coordenadas. No nos hacemos responsables de las decisiones que se adopten por parte del propietario del juego Lilith Games.
PREREQUISITOS
- Deberemos disponer del programa Bluestack instalado, abierto y con el juego Rise Of Kingdoms en ejecución.
- Cuenta en el reino objetivo sin limitación de nivel de ayuntamiento.
- Disponer del titulo “Primer ministro” asignado a la cuenta que emplearemos para conectarnos al reino.
- Ventana del emulador Bluestack sin anuncios y sin personalizaciones de ventana (deberá estar de forma estándar).
PREPARACIÓN
El sistema de títulos seguirá una arquitectura descrita en el siguiente diagrama de conexiones:
1. Creación aplicación Discord:
Comenzaremos creando el bot en el portal de desarrollo. Esto es necesario ya que la única forma de asegurar que el programa sea gratuito, es la de hospedar el bot por cada uno de los interesados, haciendo que la disponibilidad del bot recaiga en cada interesado. Para ellos, accedemos a la URL de creación de aplicaciones Discord https://discord.com/developers/docs/intro:
Una vez en el portal y logados con nuestra cuenta de Discord accedemos al apartado de “Applications”
Desde el mismo área de aplicaciones, pulsaremos en el botón “New Application” para crear nuestra propia instancia de aplicación para el bot e indicamos un nombre según nuestra preferencia (Este nombre, no será el nombre del BOT):
Acto seguido, accederemos a la vista de configuración de nuestra aplicación. En la parte izquierda se mostrarán las opciones disponibles:
.Navegamos a la opción “Bot” e indicamos el nombre de nuestro BOT. Recordar, el nombre debe ser de manera obligatoria > AHVWIKI_XXXX (Dónde XXXX representa el valor de reino dónde deseamos que se ejecute):
Recordad es fundamental tener seleccionadas las siguientes opciones:
Hacemos scroll y en la parte inferior seleccionamos los permisos que requerirá nuestro BOT una vez sea incorporado en el servidor de Discord. Marcamos por tanto “Administrator“:
Tras haber indicado los permisos, volvemos a la parte superior de la sección y pulsamos en “Reset Token“. El Token será un código único que identificará y permitirá al programa ubicar nuestra aplicación dentro del portal de Discord:
Tras pulsar en “Reset Token” el portal nos brindará dos opciones, pulsamos en “Copy” y guardamos este código para en pasos posteriores poder utilizarlo:
Continuamos ahora accediendo al apartado de “OAuth2“. En este apartado vamos a configurar la URL de registro de la aplicación de manera que sirva para la instalación del Bot en el servidor Discord que deseemos:
Pulsamos en la opción “URL Generator” y marcamos las opciones “Bot” y “Administrator“:
Tras esto, en la parte inferior se mostrará un nuevo botón con el nombre “Copy“. Este botón gestionará la copia de la URL directamente al cortapapeles:
2. Instalación/Incorporación BOT en Discord:
Con la URL ya copiada, abrimos una nueva pestaña en nuestro explorador y pegamos la URL (Ctrl+V o botón secundario + Pegar). Seleccionamos el servidor dónde queremos ubicarlo y terminamos pulsando en “Continue“:
Se mostrará un breve resumen de las acciones que vas a realizar (incorporar el bot en tu servidor de Discord) y pulsamos en “Authorise“:
Por último, se mostrará el mensaje de confirmación por parte del servidor de Discord, confirmando la incorporación del Bot:
Reflejándose en el apartado de Bot en el servidor en cuestión:
En este punto, dispondremos del bot registrado en nuestro servidor de Discord pero sin comandos, es decir, un bot sin funcionalidad. Para que la lógica de programación que tiene el bot de titulos se registre, deberemos indicar el token generado anteriormente en el apartado de “Token Bot”, pulsar en guardar y “Arrancar” el bot:
Momento en el cual se nos confirmará el registro de comandos con el mensaje “Registrados 5 comando(s)”
3. Configuración Bot en Discord:
En este apartado configuraremos nuestro Bot en el servidor de Discord, haciendo que una vez activo, sea accesible por los diferentes miembros. Sobre nuestro servidor de Discord (Menú de servidores de la parte izquierda de la pantalla) hacemos botón derecho y navegamos a “Server Settings” > “Integrations“:
Una vez pulsada la opción de “Integrations” se nos mostrará las dos vías de integración (Webhook & bot/App):
Pulsamos en la opción de Bot y seleccionamos el Bot que incorporamos en los primeros pasos del tutorial:
Continuamos pulsando en la opción de “Add Channel” con la intención de limitar y delimitar el uso del bot a un canal en concreto, para nuestro caso, #Titulos:
Guardamos y la vista deberá actualizarse a lo siguiente:
Ahora, incorporaremos los comandos que deseamos sean accesibles para los miembros. En el apartado de “Commands” pulsamos sobre el comando “/titulo“:
Mostrándose la vista de configuración del comando en cuestión:
Pulsamos sobre “Add Channels” si nuestra intención es ubicarlo en un canal y agregamos el canal en cuestión:
Lo añadimos y guardamos para salvar los cambios. Continuamos volviendo a la vista inicial de “Server Settings” > “Integrations” y navegamos al apartado de Webhook en esta ocasión. En ella crearemos un nuevo Webhook que opere en el mismo canal que indicamos anteriormente para el Bot (#titulos), poniendo cómo nombre AHVWIKI_XXXX (dónde XXXX representa el número de reino) y copiamos la URL mediante el botón “Copy Webhook URL“:
4. Configuramos la aplicación AHV Extractor:
Abrimos la aplicación de AHVExtractor y en la sección de “Titulos del reino” pegamos la URL del WEBHOOK ya que la del Token BOT debimos haberla indicado previamente para el registro de comandos (Token en “Token BOT” y Webhook URL en “Dirección WEBHOOK“) y guardamos. Finalmente, pulsamos en el botón de “Arrancar” y esperamos la confirmación del bot:
Tras la confirmación, veremos que nuestro servidor de Discord reconoce el bot y figura en estado Online:
Finalmente, nos aseguramos de que la ventana del Bluestacks se encuentre en la vista de mapa tal y como se observa en la siguiente fotografía y que la cuenta que usemos disponga del titulo de “Primer ministro“:
5. Probamos el bot:
Sobre el canal de Discord que hayamos configurado, escribimos /titulo, momento en el cual se nos pedirán las coordenadas por parámetro:
Introducimos las coordenadas de la ciudad que deseamos que tenga el titulo y pulsamos enter:
El Bot nos contestará preguntando qué titulo queremos dar mediante una selección de botones interactivos. Pulsamos sobre la opción deseada:
Inmediatamente después, el bot comenzará a tomar el control de la pantalla y se encargará de ubicar la pantalla en la ciudad interesada para posteriormente dar el titulo de manera automática:
En aproximadamente un minuto, el Bot contestará con una breve confirmación confirmando el estado de la sala de espera (en caso de haber lista de espera) con todos las solicitudes previas, así como la previsión de asignación que tendrás o con una breve confirmación de asignación directa al no haber nadie utilizando ese titulo, cómo el caso que os mostramos:
Tras la asignación del titulo y de cara a que se pueda confirmar del correcto funcionamiento, el BOT mandará una captura del titulo asignado a la ciudad, así como el resumen específico del intervalo de tiempo que tienes para poder utilizarlo:
A nivel de aplicativo, todo lo anterior quedará registrado, tanto en el terminal de log (pantalla izquierda) cómo en el terminal de histórico de títulos (dónde verás el histórico de los títulos solicitados durante la sesión del bot):