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.
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...
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:
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.
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.
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.
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
.
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.
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!