#Blueskyfeedbotとは何か?GitHubActions経由でBlueskyにRSSフィードを投稿するbot #一30

 https://github.com/marketplace/actions/feed-to-bluesky

GitHub Actions 経由で Bluesky に RSS フィードを投稿するボット「Blueskyfeedbot」の使い方を解説します。

準備

  1. Bluesky アプリパスワードの取得:

    • Bluesky の設定ページ (https://bsky.app/settings/app-passwords) にアクセスし、新しいアプリパスワードを作成します。
    • パスワード名は任意ですが、分かりやすい名前を付けてください。
    • セキュリティ上の理由から、このパスワードは一度しか表示されません。 紛失しないように安全な場所に保管してください。紛失した場合は、新しいパスワードを生成する必要があります。
  2. GitHub リポジトリの作成:

    • 新しい GitHub リポジトリを作成します。
  3. シークレットの設定:

    • リポジトリの設定ページ ([https://github.com/){YOUR_REPO}/settings/secrets/actions/new) にアクセスし、以下のシークレットを追加します。
      • BLUESKY_USERNAME: Bluesky のユーザー名 (例: username.bsky.social)
      • BLUESKY_PASSWORD: 手順 1 で取得したアプリパスワード

ワークフローファイルの作成

  1. .github/workflows/blueskyfeedbot.yml という名前のファイルを作成し、以下の内容を記述します。

<!-- end list -->

YAML
name: フィードボット
on:
  スケジュール:
    # これは 5 分ごとに実行されます。https://crontab.guru/ を使用して変更します
    - クロン: '*/5 * * * *'  
ジョブ:
  rss-to-bluesky:
    runs-on: ubuntu-latest
    ステップ:
      - 名前: キャッシュキーを生成
        使用法: actions/github-script@v6
        id を: キーを生成します
        と:
          スクリプト: |
 core.setoutput ('cache-key', new Date().valueOf())
      - 名前: キャッシュを取得
        使用法: actions/cache@v3
        と:
          パス: ${{ github.workspace }}/blueskyfeedbot
          キー: feed-cache-${{ steps.generate-key.outputs.cache-key }}
          キーを復元します: フィードキャッシュ-
      - 名前: GitHub
        使用法: 'joschi/blueskyfeedbot@v1'
        と:
          # これは公開したいRSSフィードです
          rssフィード: https://www.githubstatus.com/history.rss
          # Bluesky(ハンドルバー)に投稿されたステータスのテンプレート
          テンプレート: '{{item.title}} {{item.link}}'
          # これはあなたのサービスのURLです(オプション)
          サービス-url: https://bsky.social
          # Blueskyのユーザー名です(例: username.bsky.social)
          ユーザー名: ${{ secrets.BLUESKY_USERNAME }}
          # 先ほど作成したアプリのパスワードです
          パスワード: ${{ secrets.BLUESKY_PASSWORD }}
          # これは、上記のキャッシュパスを使用して、キャッシュファイルへのパスです
          キャッシュファイル: ${{ github.workspace }}/blueskyfeedbot/cache.json
  1. 変更をコミットして公開します。

ステータステンプレート

ステータス テンプレートでは、Handlebars テンプレートエンジンを使用できます。

アクションは、FeedData (フィールド: feedData) と現在の FeedEntry (フィールド: item) のインスタンスをテンプレートに渡します。

TypeScript
export interface FeedEntry {
  リンク?: 文字列;
  タイトル?: 文字列;
  説明?: 文字列;
  発行?: 日付;
}

export interface フィードデータ {
  リンク?: 文字列;
  タイトル?: 文字列;
  説明?: 文字列;
  発電機?: 文字列;
  言語?: 文字列;
  発行?: 日付;
  エントリー?: 配列<FeedEntry>;
}

補足

  • blueskyfeedbot.ymlcron 設定を変更することで、実行間隔を調整できます (https://crontab.guru/ を参照)。
  • rssフィード には、投稿したい RSS フィードの URL を指定します。
  • テンプレート には、Bluesky に投稿するステータスのテンプレートを記述します。Handlebars の記法を使って、FeedDataFeedEntry のフィールドを参照できます。
  • サービス-url はオプションです。
  • キャッシュファイル は、前回の投稿日時を保存するために使用されます。

この手順に従って設定することで、Blueskyfeedbot が GitHub Actions 経由で RSS フィードを Bluesky に自動投稿するようになります。

一般的な方法: IFTTT や Zapier などの連携サービス 一般的な方法: IFTTT や Zapier などの連携サービス IFTTT (If This Then That) や Zapier などの連携サービスを利用すると、RSS フィードの更新をトリガーにして Bluesky に投稿を自動化できます。これらのサービスは、ノーコードで簡単に設定できるため、プログラミングの知識がなくても利用できます。 設定方法 (IFTTT の場合): IFTTT に登録し、Bluesky と RSS のサービスを連携させます。 「If This Then That」のレシピを作成します。 「This」には RSS サービスを選択し、更新を監視するフィード URL を指定します。 「That」には Bluesky サービスを選択し、投稿する内容のテンプレートを設定します。 レシピを保存し、有効化します。 高度な方法: GitHub Actions やスクリプト GitHub Actions や Python などのスクリプトを使用すると、より柔軟な方法で RSS フィードを Bluesky に投稿できます。 GitHub Actions を使用する場合: Bluesky のアプリパスワードを取得します。 GitHub リポジトリを作成し、必要なシークレット (Bluesky のユーザー名とアプリパスワード) を設定します。 GitHub Actions のワークフローファイルを作成し、RSS フィードの取得と Bluesky への投稿処理を記述します。 ワークフローをスケジュール設定し、定期的に実行されるようにします。 Python スクリプトを使用する場合: Bluesky の API クライアントライブラリをインストールします。 RSS フィードを取得し、Bluesky に投稿するスクリプトを作成します。 スクリプトを定期的に実行するように設定します (cron など)。 どちらの方法を選ぶべきか: 手軽に自動化したい場合: IFTTT や Zapier などの連携サービスがおすすめです。 より柔軟な設定や高度な処理を行いたい場合: GitHub Actions やスクリプトがおすすめです。 その他: Bluesky の API ドキュメントや、RSS フィードを Bluesky に投稿するサンプルコードなどを参考にすると、より詳しく知ることができます。 Bluesky の投稿内容や頻度によっては、Bluesky の利用規約に違反する可能性があるため、注意が必要です。 ご自身のスキルや目的に合わせて、最適な方法を選択してください。

コメント

このブログの人気の投稿

#shadps4とは何か?shadps4は早いプレイステーション4用エミュレータWindowsを,Linuxそしてmacの #八21

#INVIDIOUSを用いて広告なしにyoutubeをみる方法 #士17

nitter.netが2021年1月31日から沈黙。代替インスタンスは?