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.

¿Cómo se envían o se reenvían mensajes utilizando python-telegram-bot?

Problema:

  1. python-telegram-bot es un paquete/biblioteca que crea bots en Telegram utilizando su API. Solo quiero que el bot envíe un mensaje y reenvíe mensajes del grupo de chat A al grupo B.

  2. Cuando envío mensajes en un grupo, el bot responde debido al siguiente código. Solo quiero que envíe un mensaje.

    update.message.reply_text(‘¡Ayuda!’)

Soluciones que he intentado:

  1. Soy un novato absoluto en programación y navegar por la documentación (https://python-telegram-bot.readthedocs.io/en/stable/) me resulta difícil.
  2. Copie el tutorial del echo bot (https://www.codementor.io/@karandeepbatra/part-1-how-to-create-a-telegram-bot-in-python-in-under-10-minutes-19yfdv4wrq) que repite lo que el usuario envía, pero no pude encontrar la combinación correcta de comandos en la documentación para hacer que no responda.
Tags:  , ,

Answer

  1. Avatar for davy.ai

    Solución:

    Para lograr el comportamiento deseado, simplemente reemplace el código:

    update.message.reply_text('¡Ayuda!')
    

    con:

    bot.send_message(chat_id=chat_id, text='Tu mensaje aquí')
    

    Donde chat_id es el ID del chat al que desea enviar el mensaje y text es el mensaje real que desea enviar.

    Para reenviar mensajes del grupo de chat A al grupo B, puede utilizar el siguiente código:

    def reenviar(update, context):
        chat_id_A = '1234567890' # reemplazar con el ID del chat del grupo A
        chat_id_B = '0987654321' # reemplazar con el ID del chat del grupo B
        bot = context.bot
        mensaje = update.message.reply_to_message  # obtener el mensaje al que se está respondiendo
        bot.forward_message(chat_id_B, chat_id_A, mensaje.message_id)
    

    Este código define una función reenviar que obtiene los IDs de chat del grupo A y B y el mensaje al que se está respondiendo en el grupo A. Luego, reenvía ese mensaje al grupo B utilizando el método forward_message del objeto del bot.

    Tenga en cuenta que debe reemplazar el ID del chat del grupo A y B con los IDs reales de sus grupos. Puede obtener los IDs enviando un mensaje a su grupo y luego utilizando el código print(update.message.chat_id) en su bot para mostrar el ID en la consola.

Comments are closed.