[pyar] Pregunta de chatbots de Telegram

david weil tenuki en gmail.com
Lun Feb 24 23:12:46 -03 2020


El lun., 24 de feb. de 2020 a la(s) 21:17, Sebastian Bassi (sbassi en gmail.com)
escribió:

> Hola,
>
> Tengo un chatbot de Telegram hecho en NodeJS/Lambda y quería pasarlo a
> Python.
> Pero ademas de pasarlo a Python, estaba pensando en agregarle una
> funcionalidad que no entiendo como se implementa o siquiera si es posible.
> Actualmente el usuario le manda comandos al bot y este responde.
> Quería saber, si el bot puede escribirle al usuario sin que este le
> escriba primera (suponiendo que el usuario ya lo tenga agregado como
> contacto, no es mi intención spammear usuarios random).
> Mi duda es porque lei en muchos lugares que los bots de Telegram no pueden
> iniciar conversaciones (por ej aca
> https://stackoverflow.com/questions/49965738/telegram-bot-initiate-conversation-with-a-user)
> pero no me queda claro que significa "iniciar conversaciones" en este
> contexto, si se trata de:
>

Hola!

En algun punto, el usuario, "siempre" empieza la comunicacion con el bot
cuando le manda /start, no?  Creo que hace falta siempre mandarselo, a no
ser que alguien meta un bot en un chat grupal, me parece...

Como sea, en la version de la sdk oficial en python, te dejan, un poco a
trasmano el objeto "bot".. uno a veces para escribir un chat-bot se crean
command-handlers que reciven un context y de ahi podes responderle al
usuario directamente...

En mi caso queria hacer algo como lo que vos planteas y en el
command-handler de start me guardo el id del peer al cual le quiero mandar
mensajes, lo saco de:
update.effective_chat.id .

y despues cuando quiero mandarle un mensaje lo hago accediendo directamente
a la instancia de bot asi:
updater.bot.send_message(chat_id=uid, text=msg)
Notar que el objeto "bot" no lo instancio yo directamente, sino que se
instancia automaticamente cuando yo instancio la clase Updater..

Por ahora me funciona esta forma..
-- 
 There is no dark side of the moon really. Matter of fact it's all dark.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20200224/658cdbb4/attachment.html>


Más información sobre la lista de distribución pyar