2024/03/07

ブルスコへ自動予約投稿[python/初心者向け]




Blueskyで予約投稿出来ないので、API側から出来るようにしてみました。
公式のこちらを参考にしています。
プログラミングをしない方向けなので、細かいところは突っ込まないでください・・
Windowsとpythonで出来ます。
"リンクカード"と"リンク・画像のセット"の2パターンを載せております。

ご注意:
タスクの間隔はblueskyのルールと利用規約・人としてのモラルを遵守してください。過度な使用によりアカウントに規制・停止などがあっても当サイトは責任を負いません。
また、参考に掲載しておりますので、PC環境の違い等によりプログラムが動かないなどの不具合があった場合には自己責任でお願い致します。

用意しておくこと
予めpythonを入れておきます
初期設定をしておきます

pythonを入れたらVSCodeのターミナルに以下を入れてatprotoをインストール

これで準備できました

大きな流れ~
コードを作って予約設定し、blueskyに定期的に投稿する


1-1・リンクカードの作成
こういうものです↓

画像自体がリンクになっていて、クリックするとサイトに行くことが出来る

流れ~
blueskyにリンクカードつきのポストをするため、任意の名前のフォルダ(今回はsample)にmain.pyというファイルと載せたい画像を一緒に保存します。


画像が1M以下・16:9比率になるようにサイズ調整をしておきます。
sampleフォルダを任意の場所に作って、windowsのエクスプローラーから開いてそのフォルダに使う画像を移動させておきます。(プログラムファイルと同じフォルダに入れておく)
sampleフォルダをVSCodeで開いて、その中にmain.pyというファイルを作り以下のコードを貼り付けます。


・アカウント名: blueskyの「@○○○○○.bsky.social」の@をとったもの
・アプリパスワード: blueskyアプリ内の「設定」の「高度な設定」部分にあるアプリパスワードという所からパスワードを生成し、コピペでここに貼ります。

・カードに表示する画像:リンクカードに挿入する画像名。 .jpgや.pngまで入れる

・サイトのタイトル:サイト名を記入
・サイト説明:サイトの詳細
・サイトのアドレス:サイトアドレス
・タグ:#つきとなしの2箇所入れて1つのタグ。複数のときは .tag('#タグ','タグ') をまるごとコピペ。

・bluesky掲載文箇所:blueskyにポストするときの文章

1-2・リンクと画像を一緒にポスト
こういうものです↓

リンクが文字で画像は単品でポスト出来るので、画像がblueskyにフルに表示される

流れ~
画像とリンクを別にblueskyにポストするため、任意の名前のフォルダ(今回はsample)にmain.pyというファイルと載せたい画像を一緒に保存します。

画像が1M以下になるようにサイズ調整をしておきます。
sampleフォルダを任意の場所に作って、windowsのエクスプローラーから開いてそのフォルダに使う画像をコピーか移動させておきます。(プログラムファイルと同じフォルダに入れておく)
sampleフォルダをVSCodeで開いて、その中にmain.pyというファイルを作り以下のコードを貼り付けます。


・アカウント名: blueskyの「@○○○○○.bsky.social」の@をとったもの
・アプリパスワード: blueskyアプリ内の設定の高度な設定部分にあるアプリパスワードという所からパスワードを生成し、コピペでここに貼ります。

・画像名:ポストする画像名。.jpgや.pngまで入れる

・bluesky投稿テキスト:blueskyにポストする文章
・リンク表示名:サイト名
・リンクアドレス:リンクアドレス
・タグ:#つきとなしの2箇所入れて1つのタグ。複数のときは .tag('#タグ','タグ') をまるごとコピペ。

2・テストする
リンクカードもリンクと画像セットもVSCodeより「実行とデバッグ」からテスト送信してちゃんと blueskyに実際にポスト出来るか確認します。
この際に上部になにか選ぶものがでてきたら一番上に表示されるものを選んでください。(よっぽど設定を変えていなければ大抵はpythonのなにかと書いてあると思います)

3・予約設定する
windowsのタスクスケジューラを使います

windowsの検索で「タスクスケジューラ」と検索し、起動
以下の設定をして保存する

全般タブ
名前:タスク管理上でわかりやすいもの
説明:タスク管理上でわかりやすいもの(任意)
ユーザーアカウントは本人だけ使用しているPCだったらそのまま「ユーザがログオンしているときのみ実行」で問題なし
最上位の特権で実行するにチェック

トリガー
予約の日にち、時間、期間の設定をするタブ
下の新規をクリックし、

タスクの開始:スケジュールに従う

設定はお好みの設定で(開始日時と時間の設定からカウントが開始)

詳細設定は基本的に触らなくていいが、繰り返しなどが特にいらないときは一番下の有効だけチェックを入れておく

操作
どのプログラムを動かすかのタブ
下の新規を押す

操作:プログラムの開始

プログラムスクリプト:
phthon.exeというソフトをPCから選択する
一般的には

C:\Users\ユーザー名\AppData\Local\Programs\Python\Python〇〇\python.exe

となっている。

引数の追加:起動させるプログラムの名前(main.py)を入れる

開始:main.pyの入っているフォルダを 「C:\~(省略)~\sample」を入れる(エキスプローラーのバーからコピペすると良い)

条件・設定・履歴は特に触らなくても良い。

OKをおしてタスクに追加する。

4・自動ポストされる
時間に初回のみだけでもちゃんとポストされているか確認すると安心



色々本来の使い方とは違う箇所がたくさんありますが、どこか一部分でもお役に立てれば幸いです。

#originalblog