Python: aplicación web para enviar notificaciones automáticas a su teléfono

En este artículo, discutiremos dos aplicaciones y cómo se pueden configurar usando python para enviar notificaciones.

bala de empuje

Pushbullet , un destacado paquete de Python, que conecta varios dispositivos mediante el código de Python. En este artículo, discutiremos cómo enviar mensajes o notificaciones a través de él. Usando nuestra computadora y el código python, enviaremos algunos mensajes a la aplicación pushbullet instalada en un dispositivo móvil, que tiene la misma identificación de inicio de sesión que la de la computadora. Para esto primero, necesitaremos crear una cuenta en Pushbullet.com e iniciar sesión en ella, tanto desde la computadora como desde el teléfono.

Configuración:

  • Configure una cuenta Pushbullet en su PC y teléfono
    • para ordenador
      • Ir a Pushbullet.com
      • Crea una cuenta

  • para telefono
    • Instale la aplicación Pushbullet en su teléfono.
    • Inicie sesión con la misma dirección de correo electrónico que utilizó para iniciar sesión en su PC.

Ahora pasemos a la parte del código Python y comprendamos cómo se debe planificar cada requisito para realizar la funcionalidad. 

  • Instale los siguientes módulos enumerados a continuación
# Used for sending the Push notifications.
pip install pushbullet.py==0.9.1

# Used for the interface at the output window. 
pip install pywebio 
  • Importar todos los módulos requeridos
  • Vaya a Pushbullet y obtenga el token de acceso.

  • Obtenga su token de acceso y use el método PushBullet para crear una instancia proporcionando el token de acceso en la función PushBullet .

Sintaxis:

PushBullet(token_de_acceso)

  • Utilice la función push_note para enviar datos y texto dentro de la función. push_note tomará dos argumentos, es decir, datos y texto. el primer argumento funcionará como un encabezado en la notificación donde el segundo argumento es un texto.

Sintaxis:

pb.push_note(datos, texto)

A continuación se muestra la implementación completa.

Python3

# Import the following modules
from pushbullet import PushBullet
from pywebio.input import *
from pywebio.output import *
from pywebio.session import *
import time
 
# Get the access token from Pushbullet.com
access_token = "Your Access Token"
 
 
# Taking input from the user
data = input('Title')
 
# Taking large text input from the user
text = textarea(
  "Text", rows=3, placeholder="Write something...",
  required=True)
 
# Get the instance using access token
pb = PushBullet(access_token)
 
# Send the data by passing the main title
# and text to be send
push = pb.push_note(data, text)
 
# Put a success message after sending
# the notification
put_success("Message sent successfully...")
 
# Sleep for 3 seconds
time.sleep(3)
 
# Clear the screen
clear()
 
# Give the pop at last
toast("Thanks for using it :)")
 
# hold the session until the whole work finishes
hold()

Hay una forma más de hacer lo mismo, discutida a continuación. En este método, se envía un mensaje predefinido como notificación.

Para esto, primero importe los módulos requeridos y obtenga su token de acceso.

Sintaxis:

TOKEN = 'Your Access Token'

Luego haga un diccionario con toda la información que desea enviar en el cuerpo.

Sintaxis:

mensaje = {“tipo”: “nota”, “título”: título, “cuerpo”: cuerpo}

Ahora, para enviar la solicitud de publicaciones , use el método de publicaciones especificado en el módulo de requests. Empuje el Pushbullet a lo largo de todo el camino. Ahora use json.dumps para volcar todos los datos en una variable de datos.

Ahora pase el diccionario a la variable de encabezado, que incluye la autorización del remitente, su token de acceso y los tipos de contenido, que en este caso es application/json.

Sintaxis:

request.post(‘url’, data=json.dumps(msg), headers={‘Autorización’: ‘Portador’ + TOKEN, Tipo de contenido’: ‘aplicación/json’})

Ahora mire el código de estado de respuesta; si es 200, hemos tenido un error; de lo contrario, nuestro mensaje habrá sido enviado correctamente.

A continuación se muestra la implementación completa.

Programa: 

Python3

# Import the following modules
import requests
import json
 
# Function to send Push Notification
 
 
def pushbullet_noti(title, body):
 
    TOKEN = 'Your Access Token'  # Pass your Access Token here
    # Make a dictionary that includes, title and body
    msg = {"type": "note", "title": title, "body": body}
    # Sent a posts request
    resp = requests.post('https://api.pushbullet.com/v2/pushes',
                         data=json.dumps(msg),
                         headers={'Authorization': 'Bearer ' + TOKEN,
                                  'Content-Type': 'application/json'})
    if resp.status_code != 200:  # Check if fort message send with the help of status code
        raise Exception('Error', resp.status_code)
    else:
        print('Message sent')
 
 
pushbullet_noti("Hey", "How you doing?")

Producción:

Flojo

En esta parte, nos ocuparemos de publicar mensajes desde el script de python que aparecerán en holgura. Para esto, necesitamos hacer uso de webhooks . Puede enviar mensajes automáticos de una aplicación a otra mediante webhooks. Cuando crea un webhook entrante, se le proporciona una URL única a la que puede enviar una carga JSON que incluye el texto del mensaje y algunos parámetros.

Configuración

Cree un espacio de trabajo de Slack aquí y cree su propia aplicación.

  • ir a Explorar Slack

  • Seleccionar aplicaciones

  • Una ventana nueva aparecerá. Desde allí, seleccione Directorio de aplicaciones

  • Ahora selecciona Construir

  • Nuevamente se abrirá una nueva ventana, seleccione crear una aplicación

  • Seleccionar desde cero

  • Establecer el nombre de la aplicación y el espacio de trabajo
  • Luego crea la aplicación

  • Seleccionar webhooks entrantes

  • Active la activación de webhooks entrantes y agregue un nuevo webhook al espacio de trabajo

  • selecciona un bot y dale permiso de acceso

  • Copie la URL del webhook, ya que se usará más adelante.

Ahora que creamos la aplicación y obtuvimos la URL del webhook, es hora de comenzar a codificar.

Primero tenemos que importar todos los módulos requeridos. Ahora, obtenga la URL de su webhook y guárdela en la variable. En una variable, guarde el mensaje y el título que desea enviar.

Ahora es el momento de hacer todos los datos de holgura que queremos enviar. Consiste en tu nombre de usuario y en la sección Adjunto tenemos:

  • El color que quieras elegir.
  • Los campos constan de las siguientes cosas:
    • Título de nuestro mensaje.
    • El mensaje que queremos enviar.
    • Corto significa que el mensaje de visualización debe ser de tipo clasificado o largo.

Ahora, con el uso del módulo sys , obtendremos el tamaño de los datos de holgura y los almacenaremos en una variable. Ahora, para los encabezados , definiremos Content-Type y Content-Length . Utilice el método de publicación del módulo de requests para publicar todos los datos después de descargarlos utilizando la función de volcados del módulo json . Por último, verifique si la respuesta es válida o no con el uso de un código de estado.

Programa: Envío de notificaciones a través de slack

Python3

# Import the following modules
import json
import sys
import requests
import base64
 
if __name__ == '__main__':
    # Webhooks URL
    url = "https://hooks.slack.com/services/xxxyyyzzz"
     
    # Message you wanna send
    message = (
        "Hi there!, GeeksforGeeks is the Best Learning Platform\
        for Computer Science Students")
     
    # Title
    title = (f"GeeksforGeeks Bot :satellite:")
     
    # All slack data
    slack_data = {
 
        "username": "Testing",
        "attachments": [
            {
                "color": "#FF0000",
                "fields": [
                    {
                        "title": title,
                        "value": message,
                        "short": "false",
 
                    }
                ]
            }
        ]
    }
     
    # Size of the slack data
    byte_length = str(sys.getsizeof(slack_data))
    headers = {'Content-Type': "application/json",
               'Content-Length': byte_length}
     
    # Posting requests after dumping the slack data
    response = requests.post(url, data=json.dumps(slack_data), headers=headers)
     
    # Post request is valid or not!
    if response.status_code != 200:
        raise Exception(response.status_code, response.text)

Producción: 

Publicación traducida automáticamente

Artículo escrito por gittysatyam y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *