codigo beta

 avatar
unknown
python
a year ago
2.2 kB
15
Indexable
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()
Editor is loading...
Leave a Comment