Añadido helpers para funciones extra. Añadida función para escapar carácteres para la API de Telegram

This commit is contained in:
Joan Cano
2023-03-02 10:16:16 +01:00
parent 144398bdb2
commit 7c2e2f0698
3 changed files with 16 additions and 7 deletions

View File

@@ -3,6 +3,7 @@ import os
import threading
import logging
import prettytable
import helpers
from worker import Worker
from telegram import Update
@@ -37,13 +38,13 @@ Ejemplo 2: `/add cpu;10;30;;intel,core 2 duo,celeron;;;100`\n
Los campos opcionales que se dejen vacíos tomarán el valor configurado en el archivo `\.env`\n
Lista los productos con `/list` o obtén la información de uno en concreto con `/list nombre del producto`\n
Borra un producto con `/remove nombre del producto`"""
await update.message.reply_markdown_v2(message)
await update.message.reply_markdown_v2(helpers.telegram_escape_characters(message))
async def add_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
message = """Tienes que pasar el número correcto de parámetros: `/add producto;precio_mínimo;precio_máximo,excluir_título(opcional, separado por comas);excluir_descripción_y_título(opciona, separado por comas);latitud(opcional);longitud(opcional),distancia(opcional)`\n
Ejemplo: `/add placa base itx;0;150`\n
Ejemplo 2: `/add cpu;10;30;;intel,core 2 duo,celeron;;;100`\n
Los campos opcionales que se dejen vacíos tomarán el valor configurado en el archivo `\.env`"""
Los campos opcionales que se dejen vacíos tomarán el valor configurado en el archivo `.env`"""
args = update.message.text.split("/add ")
if len(args) == 1:
@@ -87,8 +88,8 @@ Los campos opcionales que se dejen vacíos tomarán el valor configurado en el a
p.start()
message = f"Añadido {product_name} a seguimiento"
else:
message = f"{product_name} ya está en seguimiento\!"
await update.message.reply_markdown_v2(message)
message = f"{product_name} ya está en seguimiento!"
await update.message.reply_markdown_v2(helpers.telegram_escape_characters(message))
async def remove_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> None:
product_to_remove = update.message.text[len('/remove '):]
@@ -123,7 +124,7 @@ async def list_command(update: Update, context: ContextTypes.DEFAULT_TYPE) -> No
table.align['Máx'] = 'r'
for product in products:
table.add_row([product['product_name'], f"{product['min_price']}", f"{product['max_price']}"])
await update.message.reply_markdown_v2(f'```{table}```')
await update.message.reply_markdown_v2(f'```{helpers.telegram_escape_characters(table)}```')
def main()->None:
products = parse_json_file()