Entradas Mensuales

Síguenos en:

Canal Oficial Telegram de elhacker.NET Grupo Facebook elhacker.NET Twitter elhacker.NET Canal Youtube elhacker.NET Comunidad Steam: Grupo elhacker.NET Mastodon

Entradas populares

PostHeaderIcon Publicar automáticamente de un Feed RSS a Telegram, BlueSky o Mastodon


Los servicios dlvr.it, buffer y IFTTT pasaron a ser de pago y el único que actualmente funciona es PipeDream que te permite 10 eventos por día de forma gratuita.

 


 Pipedream es una plataforma de integración que te permite crear y ejecutar flujos de trabajo para integrar todas tus aplicaciones y tu información. Esta plataforma alojada gratuita facilita el desarrollo de cualquier flujo de trabajo utilizando cualquier activador. Además, estos flujos de trabajo son código que puedes ejecutar gratis y sin tener que alojar un servidor.

También puedes añadir notificaciones de CloudFlare vía webhook para que te avise no sólo por e-mail. En nuestro ejemplo usamos un bot de Telegram.


 En todos los casos (bot telegram, BlueSky o Mastodon) vamos a tener que hacer uso de Tokens para autenticarnos.




RSS Blog to BlueSky

 
Vamos a usar el Feed RSS (Real Simple Syndication) del blog:
 
 
La aplicación RSS permite a los usuarios  obtener y analizar automáticamente actualizaciones de fuentes web. Esta funcionalidad de funcionalidad es fundamental para mantenerse al tanto de los cambios de contenido o  actualizaciones de sitios web, blogs y medios de noticias que ofrecen canales RSS. 
 
Con Pipedream, puedes aprovechar la API RSS para desencadenar flujos de trabajo que
permitir una amplia gama de automatizaciones, como la agregación de contenidos,  seguimiento de palabras clave específicas, notificaciones y sincronización de datos entre plataformas.  sincronización de datos entre plataformas.


Traducción realizada con la versión gratuita del traductor DeepL.com

Component
New Item in Feed
timer
Every 15 minutes
Feed URL
 
Code nodejs2.0.x
 
import * as cheerio from 'cheerio';
import Atproto  from '@atproto/api';
const { RichText, BskyAgent } = Atproto;

export default defineComponent({
  async run({ steps, $ }) {

    const agent = new BskyAgent({
      service: 'https://bsky.social'
    });

    await agent.login({
      identifier: 'elhacker.net',
      password: '3YYvEcEJskj2uRb'
    });

    let card = {
      uri:steps.trigger.event.link,
      title:steps.trigger.event.title,
    }

    let req = await fetch(steps.trigger.event.link);
    let html = await req.text();
    let $$ = cheerio.load(html);
    card.description = $$('meta[property="og:description"]').attr('content');
    let image = $$('meta[property="og:image"]').attr('content');

    let blob = await fetch(image).then(r => r.blob());
    let { data } = await agent.uploadBlob(blob, { encoding:'image/jpeg'} );

    card.thumb = data.blob;

    let rt = new RichText({
      //text: steps.generateText.$return_value.text
      text: `Nueva entrada en el Blog: "${steps["trigger"]["event"]["title"]}"`
    });
    await rt.detectFacets(agent);

    await agent.post({
      text:rt.text,
      facets: rt.facets,
      langs:['en-US'],
      createdAt: new Date().toISOString(),
      embed: {
        $type: "app.bsky.embed.external",
        external:card
      }
    });
    
    return;
  },
})

 
 

RSS Blog to Mastodon

 
Tenemos que crear una nueva APP en Desarrollo con los permisos adecuados:
 
read profile write write:media 





Primer evento:
 
Trigger RSS
Component
New Item in Feed
timer
Every 15 minutes
Feed URL
https://blog.elhacker.net/feeds/posts/default
 
Segundo evento:

Python3.12

def handler(pd: "pipedream"):

  # My goal is to create the text used to tweet/toot the new post
  # For my needs, I thought nice and simple would be best:
  # "Title of post"
  # (blank line)
  # URL

  text = f"""
  "{pd.steps["trigger"]["event"]["title"]}"

  {pd.steps["trigger"]["event"]["link"]}
  """

  # Return data for use in future steps
  return {"text": text}

Tercer evento:


 Python to Mastodon

import requests

def handler(pd: "pipedream"):
  token = f'{pd.inputs["mastodon"]["$auth"]["access_token"]}'
  authorization = f'Bearer {token}'
  headers = {"Authorization": authorization}

  toot = { "status": pd.steps["generateText"]["$return_value"]["text"]}

  r = requests.post(f'https://{pd.inputs["mastodon"]["$auth"]["site_domain"]}/api/v1/statuses', data=toot, headers=headers)

  # Export the data for use in future steps
  return r.json()

RSS Blog a Bot de Telegram

Necesitaremos crear el bot de Telegram previamente y añadir el token de acceso.

El chatid (id del canal) puede ser directamente el nombre del canal @elhackernetdotnet
 


WebHook CloudFlare

Crear un webhook te permite que un servicio externo reciba notificaciones de eventos en su cuenta de Cloudflare. Cuando se produzcan estos eventos, enviaremos una solicitud POST a la URL proporcionada.

 

En CloudFlare, Notificaciones -> Destinations (destinos) -> Crear WebHook

Texto para enviar al bot de Telegram:

 

{{steps.trigger.event.body.text}}




0 comentarios :

Publicar un comentario

Los comentarios pueden ser revisados en cualquier momento por los moderadores.

Serán publicados aquellos que cumplan las siguientes condiciones:
- Comentario acorde al contenido del post.
- Prohibido mensajes de tipo SPAM.
- Evite incluir links innecesarios en su comentario.
- Contenidos ofensivos, amenazas e insultos no serán permitidos.

Debe saber que los comentarios de los lectores no reflejan necesariamente la opinión del STAFF.