Con mi concubina llevamos las cuentas de la casa en una spreadsheet de Google y siempre nos olvidábamos de cargar gastos. Este bot nace desde esa necesidad de poder cargarlo desde el celular, sin entrar a la planilla.
pip install -r requirements.txt
Te va a venir muuy bien leer este artículo de Telegram
Bots: An introduction for developers
Ahi vas a descular:
- Como dar de alta un bot propio
- Como hacer la movida para que te aparezcan los comandos disponibles y su descripción
Dos pasos:
- Primero, vas a tener que declarar una app propia (esto se puede leer acá) y luego bajar los permisos a un archivo
creds.json
para que este bicho lo pueda leer. - Le vas a tener que dar permisos de tu cuenta de Google a esa app que vos creaste. Eso se hace con el comando
/autorizar
- En el
config.py
hay que poner el ID de tu spreadsheet
No la tengo muy atada en Python por lo que por ahora la config es medio manual. Hice un archivo config_template.py
que si lo renombras a config.py
ya la magia está hecha (y claro, también tenés que poner tu data)
Por cuestiones de privacidad de Telegram, cuando el bot está en grupos y querés responderle, tenés que mencionar el mensaje que él envio antes. Si no, lo ignora, nunca entra en el handler.
Más info acá https://core.telegram.org/bots#privacy-mode
Mi intención es hacer tests de unidad, porque medio que lo empecé a los ponchazos, como una prueba estúpida y ahora ya tiene algo de lógica que vale la pena testear. Si, no fui muy TDD, pero estaba ansioso y era muy fácil de probar.
- Agarrar algún issue que está subido
- Tests de unidad
- Repasar TODOs
- Una vez que haya algún test, subirlo a un CI
- Si alguien la tiene clara con oauth y ve que se puede mejorar, chiflen. El comando
/autorizar
fue hecho con amor, pero sin mucho know-how y con algo de apuro.