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.
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.
- 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.