paint-brush
De Python a Telegram: crea tu propio sistema de notificación por@beranzor
16,283 lecturas
16,283 lecturas

De Python a Telegram: crea tu propio sistema de notificación

por Anzor Berezgov
Anzor Berezgov HackerNoon profile picture

Anzor Berezgov

@beranzor

Data Scientist & Software Engineer

2022/01/10
Read on Terminal Reader
Read this story in a terminal
Print this story
Read this story w/o Javascript
Read this story w/o Javascript

Demasiado Largo; Para Leer

Aprenda a enviar mensajes desde una secuencia de comandos de Python al chat de Telegram.
featured image - De Python a Telegram: crea tu propio sistema de notificación
Anzor Berezgov HackerNoon profile picture
Anzor Berezgov

Anzor Berezgov

@beranzor

Data Scientist & Software Engineer


A veces es útil hacer que su secuencia de comandos de python pueda enviar algún tipo de notificación directamente al teléfono móvil de un usuario o a un desarrollador (quizás a usted mismo). Puede ser una especie de registro, o notificación de que se realizó algún trabajo, o un informe de error.


La herramienta más popular, gratuita, estable e impecable para agregar notificaciones de software a su teléfono es Telegram messenger. Al momento de escribir este artículo, Telegram tiene más de mil millones de descargas y alrededor de 500 millones de usuarios activos por mes.


En este tutorial, mostraré paso a paso cómo agregar notificaciones de Telegram con 25 líneas de código y sin bibliotecas adicionales para su proyecto, a excepción de dos bibliotecas básicas: solicitudes y json, que son casi estándar para python.


Si ya tiene una cuenta de Telegram, no dude en pasar al paso 2.

De lo contrario, debe tener una cuenta en Telegram Messenger. Entonces, aprendamos cómo obtener esa cuenta.

Paso 1. Crear una cuenta de Telegram

Telegram está disponible en todas las plataformas conocidas como iOS, Android, Linux, Windows, macOS. Es mejor tener la app de Telegram en un dispositivo móvil porque nuestro objetivo es recibir notificaciones estemos donde estemos.

Elija una versión adecuada de Telegram en https://telegram.org/ e instálela en su dispositivo móvil.


Inmediatamente después del lanzamiento, Telegram le sugerirá que registre una cuenta utilizando un número de teléfono móvil. Debe tener uno, o puede registrar una cuenta sin tener su propio número, pero utilizando un número temporal proporcionado por un servicio. Tal vez escribiré un tutorial al respecto.

A continuación, debemos registrar un bot. Si sabe cómo hacerlo, o si ya tiene un bot, omita este paso...


Paso 2. Registrar un Bot

Abra la aplicación Telegram, presione el ícono de búsqueda en la esquina superior derecha e ingrese BotFather.

Deberías ver una pantalla como esta:

Buscando BotFather

Buscando BotFather


Observe un icono de una marca de verificación blanca en un entorno azul a la derecha de BotFather. Significa que la cuenta no es falsa.


Seleccione la cuenta de BotFather y presione el botón INICIO para comenzar a chatear con BotFather.

Ventana inicial antes de iniciar el bot BotFather

Ventana inicial antes de iniciar el bot BotFather


Observe un icono de una marca de verificación blanca en un entorno azul a la derecha de BotFather. Significa que la cuenta no es falsa.


Seleccione la cuenta de BotFather y presione el botón INICIO para comenzar a chatear con BotFather.

Interactuando con BotFather

Interactuando con BotFather


Felicidades por tu nuevo robot.

BotFather le envía un token para permitirle acceder a la API HTTP. Cópielo para su uso posterior. Es información privada que permite el control total de su Bot. Guárdelo con cuidado.

Encuentre su Bot usando una barra de búsqueda y abra un chat con su Bot. Haga clic en iniciar.



Paso 3. Copie esta función en su código python


 import requests import json def send_telegram_message(message: str, chat_id: str, api_key: str, proxy_username: str = None, proxy_password: str = None, proxy_url: str = None): responses = {} proxies = None if proxy_url is not None: proxies = { 'https': f'http://{username}:{password}@{proxy_url}', 'http': f'http://{username}:{password}@{proxy_url}' } headers = {'Content-Type': 'application/json', 'Proxy-Authorization': 'Basic base64'} data_dict = {'chat_id': chat_id, 'text': message, 'parse_mode': 'HTML', 'disable_notification': True} data = json.dumps(data_dict) url = f'https://api.telegram.org/bot{api_key}/sendMessage' response = requests.post(url, data=data, headers=headers, proxies=proxies, verify=False) return response


Eso es.

Ahora puede enviar notificaciones a Telegram llamando a la función send_telegram_message .

Paso 4. Usar un proxy

La URL del proxy, el nombre de usuario y la contraseña generalmente no son necesarios y, si se requieren, estos datos pueden ser proporcionados por un administrador del sistema de su red. Por lo general, las URL de proxy para https y http son las mismas. De lo contrario, esta función se puede modificar ligeramente para adaptarse a los nuevos requisitos agregando un nuevo conjunto de parámetros para la URL HTTPS.

Paso 5. Cómo obtener un chat_id

Puede ser complicado averiguar cómo obtener un chat_id para enviar mensajes.

Pero la solución es simple: solo use @username_to_id_bot u otros bots similares (hay muchos bots en Telegram listos para ayudarlo).

Este bot le enviará su ID que se puede usar como parámetro en la función send_telegram_message.


Finalmente, probemos cómo funciona.

Agregue estas líneas a su código:

 chat_id = "<fill your chat id here>" api_key = "<fill api key of your bot here>" send_telegram_message("Hello world!!!", chat_id, api_key)


¡Se hace!

L O A D I N G
. . . comments & more!

About Author

Anzor Berezgov HackerNoon profile picture
Anzor Berezgov@beranzor
Data Scientist & Software Engineer

ETIQUETAS

ESTE ARTÍCULO FUE PRESENTADO EN...

Permanent on Arweave
Read on Terminal Reader
Read this story in a terminal
 Terminal
Read this story w/o Javascript
Read this story w/o Javascript
 Lite
X REMOVE AD