Giter VIP home page Giter VIP logo

dado-bot's People

Contributors

nirei avatar thevaultdweller13 avatar

Stargazers

 avatar

Watchers

 avatar  avatar

dado-bot's Issues

Añadir !info para mostrar información del bot

Podría ser interesante tener un comando !info que muestre un enlace a este issue tracker para que los usuarios puedan informar errores o hacer sugerencias. Tal vez puede mostrar también tu usuario de GitHub.

Solucionar error con typing

Por alguna razón, el uso de typing provoca que en algunas tiradas (no se ha localizado ningún patrón, ni parece estar relacionado con el número a calcular) el dado se quede bloqueado «enviado el mensaje» eternamente.

Soporte para internacionalización

A largo plazo sería conveniente tener soporte para internacionalización, de modo que, via variable del entorno, se pueda espeficar un locale para los mensajes que el bot emite.

Lo ideal sería tener un módulo con los textos, en archivos definidos por idioma, para que sea cómodo traducir la aplicación a cualquier locale.

Sería recomendable utilizar códigos ISO para las localizaciones, de modo que sea lo más estándar posible.

Añadir un changelog

Deberíamos definir la versión 1.0.0 en algún momento, hacer una release y añadir un changelog con las cosas que se cambian. Si nos comprometemos a seguir alguna convención de commit, se podría incluso automatizar el proceso.

Permitir ordenar las tiradas del dado

Podría ser interesante un modificador del comando que permita ordenar los valores de las tiradas de menor a mayor.

!5d6

Resultado
3, 3, 4, 6, 6 Suma: 22

Sprites para los dados

Podría ser interesante que para las tiradas de dados, o al menos para las tiradas de dados para los que existe un polihedro que lo implementa, usásemos imágenes para representar el resultado. (Manteniéndolo accesible para personas con dificultades de visión, por supuesto.)

No sé si esto es posible en Discord y habría que ver cómo implementarlo. Se podría componer una imagen con todos los dados en el back y enviarla como imagen adjunta al texto.

Añadir variable de entorno para el mensaje de arranque

El canal por el que se envía el mensaje de arranque está ahora mismo hardcodeado. Debería especificarse mediante una variable del entorno para que se pueda definir manualmente en cada instancia.

Además sería apropiado:

  • Inhibir el comportamiento si la variable del entorno se deja en blanco
  • Gestionar el error en caso de que no se pueda enviar para evitar que termine la aplicación
  • Informar en el log con un mensaje de nivel warn si la ID de canal no se encuentra o no está definida la variable

Gestionar por separado errores de formato y límite de tamaño del mensaje

Ahora mismo sólo se gestionan todos los errores y se interpretan como un error de formato del comando. Dado que existen más casos de fallo podríamos gestionarlos por separado.

El más obvio es cuando el mensaje excede el tamaño máximo que se interpreta como un problema de formato pero no lo es.

Modificadores de comando para formatos de dado típicos

Podríamos tener comandos especiales para formatos de tirada típicas de juegos de rol concretos.

Esto podría modificar, no solo la forma de introducir los datos de la tirada para hacerlo más sencillo si no la presentación de la tirada informándote del éxito o fracaso de la tirada.

Algunos ejemplos:

Vampiro clásico:

!6v
Seis dados de 10
!6v8
Seis dados (de 10), clase de dificultad 8 (texto de éxito o fracaso)

Vampiro 5ª ed.:

!6vv
Seis dados de 10, número de éxitos
!6vv3
Seis dados (de 10), necesarios tres aciertos (texto de éxito o fracaso)

Resaltado de tiradas

Sería interesante, para encontrar a un golpe de vista tiradas críticas o pifias, resaltar de alguna manera (negrita, por ejemplo) los resultados que sean el mínimo/máximo valor del dado.

Responder al mensaje del comando

En lugar de enviar un mensaje suelto, el bot debería responder al mensaje en el que se envió el comando que produce la tirada.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.