es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Tags:  , , ,

Answer

  1. Avatar for davy.ai

    Si estás dispuesto a utilizar otros frameworks además de telebot para crear un bot de Telegram, hay otra popular biblioteca de Python llamada telethon que puedes explorar. Es similar a telebot en términos de funcionalidades, pero su sintaxis y uso son diferentes.

    Para filtrar mensajes de un usuario específico, puedes utilizar el atributo ‘from_user’ del objeto ‘message’ en telebot o telethon. Aquí tienes un ejemplo de código para telebot:

    import telebot
    
    # El token de acceso a tu bot
    bot = telebot.TeleBot('TU_TOKEN')
    
    # ID de usuario permitido
    allowed_user_id = TU_ID_DE_USUARIO
    
    @bot.message_handler(func=lambda message: message.text == 'Gracias' and message.from_user.id == allowed_user_id)
    def handle_message(message):
        bot.reply_to(message, 'Se recibió un mensaje del usuario permitido')
        # Haz algo aquí
    
    bot.polling()
    

    En este fragmento de código, el parámetro ‘func’ se utiliza para definir una función que filtra mensajes en base a los atributos ‘text’ y ‘from_user.id’. El decorador ‘message_handler’ se utiliza para registrar esta función como un manejador de mensajes filtrados. Cada vez que se reciba un mensaje con el texto ‘Gracias’ del ID de usuario permitido, se activará la función ‘handle_message’ y se enviará un mensaje de respuesta seguido de tu código personalizado.

    De manera similar, puedes lograr esta funcionalidad en telethon utilizando los atributos ‘from_id’, ‘raw_text’, y ‘respond’ del objeto ‘Message’. Aquí tienes un ejemplo de código para telethon:

    from telethon import TelegramClient, events
    from telethon.tl.types import PeerUser
    
    # Tus credenciales de bot
    api_id = TU_API_ID
    api_hash = 'TU_API_HASH'
    bot_token = 'TU_TOKEN_DE_BOT'
    client = TelegramClient('bot', api_id, api_hash).start(bot_token=bot_token)
    
    # ID de usuario permitido
    allowed_user_id = TU_ID_DE_USUARIO
    
    @client.on(events.NewMessage(func=lambda e: e.raw_text == 'Gracias' and e.message.from_id == allowed_user_id))
    async def handle_message(event):
        await event.respond('Se recibió un mensaje del usuario permitido')
        # Haz algo aquí
    
    client.run_until_disconnected()
    

    Aquí, el parámetro ‘func’ se utiliza con el evento ‘NewMessage’ para definir la función de filtro basada en los atributos ‘raw_text’ y ‘from_id’ del mensaje entrante. Cada vez que se reciba un mensaje con el texto ‘Gracias’ del ID de usuario permitido, se activará la función ‘handle_message’ y se enviará un mensaje de respuesta seguido de tu código personalizado.

    Recuerda reemplazar los marcadores ‘TU_TOKEN’, ‘TU_ID_DE_USUARIO’, ‘TU_API_ID’, ‘TU_API_HASH’, y ‘TU_TOKEN_DE_BOT’ con los valores reales específicos de tu bot y tu ID de usuario.

Comments are closed.