thevaultdweller13 / dado-bot Goto Github PK
View Code? Open in Web Editor NEWBot de simulación de lanzamiento de dados para Discord
License: ISC License
Bot de simulación de lanzamiento de dados para Discord
License: ISC License
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.
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.
En el mensaje con el resultado de la tirada estaría bien mencionar por su @ handle al usuario que la pidió.
Si el usuario introduce texto adicional después del comando, sustituir texto de Resultado
por el texto introducido por el usuario.
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.
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.
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
El proyecto no cuenta con un README.md de presentación. Sería interesante contar con uno.
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.
Cuando se envíe un mensaje, utilizar la marca de "está escribiendo..." durante unos instantes antes de contestar para humanizar la interacción.
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:
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.
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)
Sería bueno tener un nuevo comando !help (y/o !ayuda) que te muestre las instrucciones de uso y todo lo que el bot puede hacer.
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.
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.
Cuando el bot accede por primera vez a un canal sería adecuado que saludase, se presentase y expusiese una pequeña guía de uso.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.