Instalacion de Librerías


pip install python-telegram-bot
            

1. Importar librerías necesarias


import csv  # Para leer el archivo CSV
from telegram import Update  # Para manejar los mensajes de Telegram
from telegram.ext import ApplicationBuilder, CommandHandler, MessageHandler, filters, ContextTypes
  

2. Leer respuestas desde el archivo CSV


respuestas = {}
with open("preguntas.csv", "r", encoding="utf-8") as archivo:
    lector = csv.DictReader(archivo)
    for fila in lector:
        respuestas[fila["preguntas"].lower()] = fila["respuestas"]
  

3. Función para obtener una respuesta


def obtener_respuesta(mensaje):
    mensaje = mensaje.lower()
    return respuestas.get(mensaje, "Lo siento, no entiendo esa pregunta.")
  

4. Función para responder mensajes en Telegram


async def responder(update: Update, context: ContextTypes.DEFAULT_TYPE):
    mensaje = update.message.text
    respuesta = obtener_respuesta(mensaje)
    await update.message.reply_text(respuesta)
  

5. Función para /start


async def start(update: Update, context: ContextTypes.DEFAULT_TYPE):
    await update.message.reply_text("¡Hola! Soy un chatbot. Escribe tu pregunta.")
  

6. Iniciar el bot con ApplicationBuilder


if __name__ == "__main__":
    TOKEN = "AQUI_TU_TOKEN"  # 🔒 Pega tu token de @BotFather aquí

    app = ApplicationBuilder().token(TOKEN).build()

    app.add_handler(CommandHandler("start", start))
    app.add_handler(MessageHandler(filters.TEXT & ~filters.COMMAND, responder))

    print("Bot de Telegram corriendo...")
    app.run_polling()
  

7. Ejemplo del archivo respuestas.csv


preguntas,respuestas
hola,¡Hola! ¿Cómo estás?
¿quién eres?,Soy un chatbot simpático.
adiós,¡Hasta luego!