Correcciones de documentacion y explicaciones sobre el uso de Venv de Python
This commit is contained in:
3
.env.sample
Normal file
3
.env.sample
Normal file
@@ -0,0 +1,3 @@
|
||||
CAL_URL= https://tucalendario.com
|
||||
TOKEN= tutokendetelegram
|
||||
GROUP_ID=elidquesacastedetugrupo
|
||||
18
LICENSE
Normal file
18
LICENSE
Normal file
@@ -0,0 +1,18 @@
|
||||
MIT License
|
||||
|
||||
Copyright (c) 2025 Drk0027
|
||||
|
||||
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and
|
||||
associated documentation files (the "Software"), to deal in the Software without restriction, including
|
||||
without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
||||
copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the
|
||||
following conditions:
|
||||
|
||||
The above copyright notice and this permission notice shall be included in all copies or substantial
|
||||
portions of the Software.
|
||||
|
||||
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT
|
||||
LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO
|
||||
EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
|
||||
IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE
|
||||
USE OR OTHER DEALINGS IN THE SOFTWARE.
|
||||
36
README.md
36
README.md
@@ -2,10 +2,30 @@
|
||||
|
||||
A veces no necesitamos una herramienta enorme para una tarea sencilla. Queremos algo que haga una sola cosa y la haga bien. Pero los programas disponibles suelen sentirse como matar moscas a cañonazos. Por eso creé ICS Announcer: una herramienta ligera, funcional y enfocada. Su único propósito es publicar la lista de eventos diarios en Telegram.
|
||||
|
||||
Tecnicamente puede enviar a canales siempre y cuando lo tengas agregado al bot, pero no lo he probado. Podria ser util.
|
||||
|
||||
## Preambulos
|
||||
|
||||
Aunque el código es simple, hay algunos pasos previos.
|
||||
|
||||
### Clona este repositorio
|
||||
|
||||
```bash
|
||||
git clone https://git.interlan.ec/Drk0027/icsannouncer.git
|
||||
cd icsannouncer
|
||||
```
|
||||
|
||||
### Configuracion de Entorno virtual para Python
|
||||
|
||||
Necesitas tener instalado el paquete venv en tu distro para poder crear entornos virtuales para python. En el directorio del proyecto ejecuta lo siguiente.
|
||||
|
||||
```bash
|
||||
python -m venv nombre_env
|
||||
source .venv/bin/activate #linux
|
||||
.\venv\Scripts\activate.bat #windows en cmd, usa ps1 para powershell
|
||||
pip install -r requirements.txt
|
||||
```
|
||||
|
||||
### Calendario
|
||||
|
||||
Muchos calendarios permiten compartir sus eventos públicamente en formato ICS. ICS Announcer descarga el archivo en cada ejecución, lo que permite reflejar cambios de último momento. Eso sí, depende de tener conexión estable y acceso al calendario.
|
||||
@@ -25,12 +45,26 @@ Telegram tiene un tutorial oficial para esto
|
||||
|
||||
Si ya juegas con bots seguro sabrás como conseguir este ID, pero adjunto un script con el que puedes conseguir el id de tu grupo. Puedes usarlo con el mismo bot cuyo token conseguiste hace un momento.
|
||||
|
||||
groupid.py
|
||||
groupid.py
|
||||
|
||||
## Ejecución
|
||||
|
||||
Renombra el archivo .env.sample a .env y rellena los valores
|
||||
|
||||
```.env
|
||||
CAL_URL= https://tucalendario.com
|
||||
TOKEN= tutokendetelegram
|
||||
GROUP_ID=elidquesacastedetugrupo
|
||||
```
|
||||
|
||||
Una vez completados los preámbulos, basta con programar una tarea que ejecute regularmente el bot mediante cron o alguna herramienta similar.
|
||||
|
||||
```cron
|
||||
0 1 * * * /tu/ruta/absoluta/al/python/de/tu/venv/bin/python /tu/ruta/absoluta/a/tu/icsannouncer/main.py
|
||||
```
|
||||
|
||||
Debido a que estas usando un entorno virtual, lo recomendable es que ejecutes ese entorno virtual. Dado que cron no lo puede activar.
|
||||
|
||||
# Sobre el bot
|
||||
|
||||
En este caso, he publicado el codigo de este bot porque no vale la pena hacer un codigo mas complejo para una tarea sencilla. La consecuencia de esto es que cualquiera que quiera desplegarlo, puede hacerlo, pero esto limita a que los que no tienen conocimientos tecnicos, no puedan usarlo. Desplegar un bot para multiples usuarios implica el gasto de recursos que no sobran para una tarea que solo produciria gastos si no hubiese alguna retribucion apropiada.
|
||||
|
||||
BIN
requirements.txt
Normal file
BIN
requirements.txt
Normal file
Binary file not shown.
Reference in New Issue
Block a user