Automatización. Bot Telegram + AEMET + Python

eondev

#30 Y con los 18 favs!

3
Fr34k3r

#1 Pues yo voy a usarlo a partir de lo tuyo, muchas gracias por el aporte señor, te como la mierda. Al resto, 0 PR , 20 criticas, no me cuadra. Por cierto, si no instancias variables en ingles eres un parguela y no vales para nada, ni vas a llegar a cobrar 5k al mes.

tqm bss cnt

pd : https://github.com/cperezsx/DockerHelperExamples

1 1 respuesta
KazuluDev

#32 me parece flipante que gente siga programando en PlayStation 1.

Lo dicho, las críticas bien, las formas a menudo mal. Yo le he dado estrellita al repositorio pero no tengo ni idea de Python, le echaré un ojo y si veo algo mando PR pero lo dudo, me sirve más como ejemplo para poder algo yo.

1 respuesta
covaga

si saco tiempo, intentare crear el bot usando heroku.
Ni puta idea pero a ver que sale.

Fr34k3r

#33 yo no se programar, solo copio cosas de google y las pego en sitios random rezando a que cthulhu me de su bendición.

1 respuesta
KazuluDev

#35 gente que sabe programar hace lo mismo, así que la tienes

vago_21

Acabo de hacer un commit porque la api de la AEMET es risa pura

NeV3rKilL

Por dejar mi granito de arena, creo que la manera "pythonica" de tratar con credenciales es via dotenv.

Viene a ser tu config.py pero estandarizado.

https://pypi.org/project/python-dotenv/

1 1 respuesta
vago_21

#38 :kiss: ya he aprendido algo hoy

Ardi

Voy a terminar el tfg en brevas, algun sitio para empezar con el tema de bots de telegram para python, que lo he visto y me he venido arriba

covaga

siguiendo esta guia he conseguido que funcione el bot en heroku.

He perdido mas tiempo en buscar un sitio donde se explique bien que en cambiar el código y crear la app en heroku.

1 1 respuesta
vago_21

#41 hostias, buen logro, me interesa ¿source?

1 respuesta
covaga

#42 https://github.com/covagashi/Python_Telegram_Bot/blob/master/README.md

Simplemente he seguido la guia.

1 1 respuesta
vago_21

#43 gracias, va a venir genial

Wasd

A raíz de esto hoy me he puesto a desarrollar un bot de telegram implementado en NodeJS y TypeScript.

Por ahora simplemente te responde a /hello, pero la base que he hecho es extensible.

Pasos (no los he probado, pero no tiene mucha ciencia):

$ mkdir telegram-bot-typescript
$ cd telegram-bot-typescript
$ git clone git@github.com:didac-pf/telegram-bot.git .
$ npm install
crear .env.dev utilizando .env.example como ejemplo
$ npm run chat-listener:dev

Y a funcionar.

Con ese comando se ejecuta el módulo "ChatListener", que aunque sencillo, es funcional (responde a /hello).
Tengo otro módulo en desarrollo, llamado Scheduler, que se encargaría de notificarte automaticamente en base a un componente Informer. Aquí le he robado la idea descaradamente a #1 y mi objetivo inicial es que te notifique cada día a las 8 de la mañana del tiempo que hará hoy.

Si las ganas me duran hasta el finde creo que puedo tener el Scheduler funcional con el ejemplo del tiempo y quizá algún ejemplo mas en el ChatListener.

Si alguien lo prueba o le interesa que me lo haga saber.

Pongo el link al repo: https://github.com/didac-pf/telegram-bot

2 3 respuestas
KazuluDev

#45 es una tontería pero el paso de crear carpeta en verdad te lo puedes saltar:

$ git clone git@github.com:didac-pf/telegram-bot.git
$ cd telegram-bot
$ npm install
crear .env.dev utilizando .env.example como ejemplo
$ npm run chat-listener:dev
1 respuesta
vago_21

#45 buen aporte, me ha escrito gente que no iba bien con python y le ayudará seguro

Wasd

#46 Lo se, pero como normalmente lo hago así para que no me cree la carpeta con el mismo nombre del repo, lo puse tal y como lo hago yo normalmente.

1 1 respuesta
KazuluDev

#48 justo por eso me llamó la atención yo a veces lo hago por el tema del nombre pero en el ejemplo usas el mismo nombre del repo, pero lo dicho, tonterías del 1º mundo

1 respuesta
Wasd

#49 Si, en eso tienes razón. He cambiado el nombre de la carpeta para que tenga sentido y de paso quede claro el lenguaje de la implementación.
Gracias.

Wasd

Disulpas anticipadas por doble post y parasitar (por última vez) un poco el hilo.

Ya tengo el componente Scheduler de #45 funcional (basicamente te avisa a las 9 de la mañana del tiempo que hará hoy según Aemet, con un string muy básico al que tengo pensado añadirle varios cambios) y he aplicado varias mejoras sobre el componente ChatListener en base a objetos Command.

Si veo que a alguien le genera interés abriré un hilo propio, si no pues aquí se queda esto por si a alguien le interesa en el futuro.

Saludos.

Edit: Dejo una imagen de lo que hace, simplemente para adornar el post:

4 1 respuesta
covaga

#45 Para que te envíe el mensaje automático tienes que añadir esto al código.

import schedule
schedule.every().day.at('08:00').do(check_weather)

y en el txt de requirements tienes que añadir schedule.

Aquí tienes la documentación. https://pypi.org/project/schedule/

1 2 respuestas
Wasd

#52 O te has equivocado al citarme o no te has leído mis posts xD

vago_21

#51 Básicamente yo he montado un string parecido, pero he añadido temperatura máxima y mínima y la probabilidad de lluvia

#52 no conocía schedule, lo tengo con un timer XDDD así que voy a mejorarlo con tu permiso

EDIT: He actualizado el repo usando la librería schedule y configurando las horas en las que quiero actualización en el fichero de config.py he actualizado también el readme.

Usuarios habituales

  • vago_21
  • Wasd
  • covaga
  • KazuluDev
  • NeV3rKilL
  • eondev
  • keiya