codigo beta
import logging from telegram import Update from telegram.ext import Updater, CommandHandler, MessageHandler, Filters, CallbackContext import cv2 import pytesseract from io import BytesIO from PIL import Image # Configurar el logging para ver detalles de lo que está pasando logging.basicConfig(format='%(asctime)s - %(name)s - %(levelname)s - %(message)s', level=logging.INFO) logger = logging.getLogger(__name__) # Comando start para verificar que el bot está funcionando def start(update: Update, context: CallbackContext) -> None: update.message.reply_text('¡Hola! Envíame una imagen y extraeré los datos de ella.') # Función para procesar las imágenes enviadas def process_image(update: Update, context: CallbackContext) -> None: file = update.message.photo[-1].get_file() # Obtener la imagen de la foto enviada file.download('image.jpg') # Guardar la imagen en el servidor # Cargar la imagen con OpenCV img = cv2.imread('image.jpg') # Convertir la imagen a texto usando Tesseract OCR text = pytesseract.image_to_string(img) # Extraer todo el texto de la imagen # Filtrar la información que necesitas (esto es solo un ejemplo, se puede ajustar) # Aquí podemos hacer un procesamiento de la imagen para extraer datos específicos # Si tienes coordenadas predefinidas o áreas específicas de la imagen, puedes ajustar el código. extracted_data = text # Puedes aplicar más filtros según las coordenadas específicas # Enviar el texto extraído de vuelta al grupo update.message.reply_text(f'Datos extraídos:\n{extracted_data}') # Función principal que configura y arranca el bot def main(): # Reemplaza 'YOUR_TOKEN' con el token de tu bot de Telegram updater = Updater("7502458784:AAGyyR04XSHRYfalw5vbUQkR8ySRDiJpItE", use_context=True) dp = updater.dispatcher # Comando '/start' dp.add_handler(CommandHandler("start", start)) # Manejar imágenes enviadas al bot dp.add_handler(MessageHandler(Filters.photo, process_image)) # Iniciar el bot updater.start_polling() updater.idle() if __name__ == '__main__': main()
Leave a Comment