Code Monkey home page Code Monkey logo

neokimberly's People

Contributors

oblivious-man avatar sonico98 avatar

Watchers

 avatar

Forkers

fcalexis

neokimberly's Issues

Nisman

El módulo más importante a implementar es el de la nisman: se premia al usuario que mande el primer mensaje luego de una hora determinada (por lo general al comenzar un nuevo día).

Idea de implementación:

  • Por defecto, en todos los grupos, la nisman se hace a las 00:00 de cada día en la zona horaria configurada en kimberly/config/login.py, por ejemplo, UTC-03:00.
  • Por grupo, se puede configurar un horario (y zona horaria) diferente de nisman, a través de un comando accesible únicamente a los administradores de cada grupo.
  • Cada grupo deberá almacenar cuándo se realizará la próxima nisman. Es decir, si en un grupo alguien hace la nisman el 12 de Julio, se deberá almacenar que la próxima nisman será el 13 de Julio a la hora de nisman establecida para ese grupo.
  • Por cada mensaje recibido en un grupo, se comprueba la fecha y hora a la que se envió con la fecha y hora de nisman establecida para ese grupo. Si la fecha y hora del mensaje recibido es mayor o igual a la fecha y hora de nisman del grupo, entonces el contador de nisman para ese usuario en ese grupo aumenta en 1.
  • Para evitar llamar a la base de datos por cada mensaje recibido, se deberá tomar de la base de datos, al momento de iniciar el bot, todos los grupos y su horario y almacenarlo en memoria (quizás en un diccionario). En caso de ser necesario (se registra un nuevo grupo), se podrá modificar ese listado y añadir un nuevo grupo y horario durante la ejecución del bot.
  • Cuando el bot se añada a un nuevo grupo, se deberá establecer la nisman para el día siguiente (día actual + 1), para que no se haga la nisman apenas se envíe un mensaje luego de agregado el bot.
  • Se deberán poder configurar fechas especiales por grupo a través de un comando. Para evitar el abuso, estará disponible sólo para los administradores. En estas fechas especiales la nisman sumará más puntos para el usuario que la haga (por ejemplo, en Navidad la nisman sumará 5 puntos al usuario en lugar de 1).
  • Por defecto, todos los grupos incluirán la fecha especial de Navidad y Año Nuevo, pero cada grupo podrá eliminarlas a través de otro comando (también sólo para administradores)
  • Se deberá poder ver un ranking de nisman por grupo, ordenado de mayor a menor, y paginado para evitar mostrar demasiados usuarios en un único mensaje. Probablemente se pueda reutilizar el código del ranking de reputación.
  • Añadir toda la información necesaria a grupos en los que el bot se encuentre presente desde antes de que se añada la funcionalidad de Nisman.

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.