GitHub Hot Board

GitHub Hot Board · Archivo del repositorio

joschi/blueskyfeedbot

A bot that posts RSS feeds to Bluesky via GitHub Actions (Esta descripción procede del propio repositorio.)

Datos al October 25joschi

Mejor puesto

#242

Gemas ignoradas

100

Estrellas totales

7

Forks totales

2

Días en rankings (30 d)

Estado del proyectoLicencia: desconocidoÚltimo push: October 24Issues abiertos (PR incl.): 15

Recolectado desde 2026-10-25; desconocido = aún no recopilado

Pon la insignia en tu README · joschi/blueskyfeedbot[![Pon la insignia en tu README](https://git.vaiox.xyz/api/badge/joschi/blueskyfeedbot.svg)](https://git.vaiox.xyz/es/repo/joschi/blueskyfeedbot)
<a href="https://git.vaiox.xyz/es/repo/joschi/blueskyfeedbot"><img src="https://git.vaiox.xyz/api/badge/joschi/blueskyfeedbot.svg" alt="Pon la insignia en tu README" height="20"></a>

Documentación del proyecto

Bluesky Feed Bot

Bluesky Feed Bot is a GitHub Action for posting RSS feeds to Bluesky via GitHub Actions workflows.

Usage

  1. Go to https://bsky.app/settings/app-passwords and add a new app password.

    • Name it whatever you want.
    • Save it and grab the app password. For security reasons, you won't be able to view this again. If you lose this app password, you'll need to generate a new one.
  2. Create a new GitHub repository.

  3. Go to your repository settings at https://github.com/${YOUR_REPO}/settings/secrets/actions/new, and add a new secret with the value of the access token.

  4. Add a file named .github/workflows/blueskyfeedbot.yml with the following content:

    name: FeedBot
    on:
      schedule:
        # This will run every five minutes. Alter it using https://crontab.guru/.
        - cron: '*/5 * * * *'
      workflow_dispatch: # This allows manually running the workflow from the GitHub actions page
    concurrency:
      group: feedbot
    jobs:
      rss-to-bluesky:
        runs-on: ubuntu-latest
        steps:
          - name: Generate cache key
            uses: actions/github-script@v6
            id: generate-key
            with:
              script: |
                core.setOutput('cache-key', new Date().valueOf())
          - name: Retrieve cache
            uses: actions/cache@v3
            with:
              path: ${{ github.workspace }}/blueskyfeedbot
              key: feed-cache-${{ steps.generate-key.outputs.cache-key }}
              restore-keys: feed-cache-
          - name: GitHub
            uses: 'joschi/blueskyfeedbot@v1'
            with:
              # This is the RSS feed you want to publish
              rss-feed: https://www.githubstatus.com/history.rss
              # Template of status posted to Bluesky (Handlebars)
              template: |
                {{item.title}}
    
                {{item.link}}
              # This is your service URL (optional)
              service-url: https://bsky.social
              # This is the Bluesky username (example: username.bsky.social)
              username: ${{ secrets.BLUESKY_USERNAME }}
              # This is the app password you created earlier
              password: ${{ secrets.BLUESKY_PASSWORD }}
              # This is a path to the cache file, using the above cache path
              cache-file: ${{ github.workspace }}/blueskyfeedbot/cache.json
              # The maximum number of posts created on the first run
              initial-post-limit: 10
              # Maximum number of XML entity expansions allowed when parsing feeds (0 = unlimited)
              # xml-entity-expansion-limit: 10000
  5. Commit and publish your changes.

Status template

The status template (status-template) is using Handlebars as template engine.

The action is passing in an instance of FeedData (field feedData) and the current FeedEntry (field item) into the template:

export interface FeedEntry {
  link?: string;
  title?: string;
  description?: string;
  published?: Date;
}

export interface FeedData {
  link?: string;
  title?: string;
  description?: string;
  generator?: string;
  language?: string;
  published?: Date;
  entries?: Array<FeedEntry>;
}

Clasificaciones actuales

  • 242

    Gemas ignoradas

    100 estrellas · 7 fork · Star acumuladas (ascendente)

    Ignoradas →

Evolución de los últimos 30 días

Estrellas acumuladas

Evolución del puesto

Vecinos de ranking en el mismo tablero · Ignoradas

Proyectos similares · temas compartidos

← Volver a los rankings