Git Product home page Git Product logo

pycamp_bot's Introduction

Este es el bot del Pycamp!

Variables de entorno

  • TOKEN: Token del bot generado con BotFather.
  • PYCAMP_BOT_MASTER_KEY: Password para agregar nuevos admins.

Development

Si queres contribuir en este proyecto lo primero que vas a necesitar es crearte un bot para hacer las pruebas.

Esto lo podes hacer hablandole a @BotFather que es el "Bot padre de todos los bots" de telegram. Él te a a guiar para que puedas hacer tu propio bot.

Una vez creado el bot, deberías tener un TOKEN_PERSONAL (BotFather te lo da en el mismo proceso de creación).

Despues instala el paquete en modo desarrollo en un virtualenv

virtualenv -p python3 venv
source venv/bin/activate
pip install -e .

y estas listo para trabajar.

Testeo

Para correr el bot ejecutá (desde el virtualenv):

TOKEN='TOKEN_PERSONAL' PYCAMP_BOT_MASTER_KEY='KEY' python bin/run_bot.py

Y listo! Tu bot está corriendo en tu máquina, esperando que alguien le escriba por telegram. Podés probarlo mandandole un /start

¿Cómo usar el bot en un nuevo pycamp?

Primero es necesario setear las siguientes variables de entorno:

  • TOKEN: token del bot que se usará durante el pycamp (gestionar desde telegram con BotFather)
  • PYCAMP_BOT_MASTER_KEY: con alguna password secreta que se va a usar para acceder a comandos de superuser

Una vez creadas las variables de entorno, correr el bot con el comando python bin/run_bot.py

En este momento ya se puede hablar con el bot. ¿Qué le digo?

  • /start para chequear que esté andando bien

Flujo admin

  • /su <password> para reclamar permisos de admin, reemplazando por la contraseña que hayamos elegido en la envvar PYCAMP_BOT_MASTER_KEY

  • /agregar_pycamp <pycamp_name> para crear un pycamp en la deb

  • activar_pycamp <pycamp_name> activa un pycamp

  • /empezar_pycamp setea la fecha de inicio del pycamp activo

  • /empezar_carga_proyectos habilita la carga de los proyectos. En este punto los pycampistas pueden cargar sus proyectos, enviandole al bot el comando /cargar_proyecto

  • /terminar_carga_proyectos termina carga proyectos

  • /empezar_votacion activa la votacion (a partir de ahora los pycampistas pueden votar con /votar)

  • /terminar_votacion termina la votacion

Para generar el schedule:

  • /cronogramear te va a preguntar cuantos dias queres cronogramear y cuantos slots por dia tenes y hacer el cronograma.

  • /cambiar_slot toma un nombre de projecto y un slot; y te cambia ese projecto a ese slot.

Flujo pycampista

  • /cargar_proyecto carga un proyecto (si está habilitada la carga)

  • /votar envia opciones para votar (si está habilitada la votacion)

  • /ver_cronograma te muestra el cronograma!

pycamp_bot's People

Contributors

xcancerberox avatar winnaz avatar sofide avatar delaboremercurio avatar sofidenner avatar galloramiro avatar facundobatista avatar cam-ila avatar

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.