見出し画像

BlueSkyの定期ポストBotを無料で作成する

 BlueSkyは、コンピュータから自動ポストするのがそれほど難しくなく、素人の僕にでもプログラムが組めたので、ここに公開します。
 このプログラムは、基本的にNode.jsで動きます。そのため、Node.jsをインストールする必要がありますので、御了承ください。
 また、もともとリンクカードつきでのポストを前提に作成したので、文字だけのポストはこのプログラムではできません。その場合は、記事を参考に、プログラムを改編してみてください。

 Node.jsには、いくつもの便利なモジュールが存在します。ここでも、そのモジュールを使用します。Blueskyのポストに関するモジュールが必要です。それで、Node.jsをインストールしたら、ワーススペースのフォルダを作成し、そのディレクトリでモジュールをインストールする必要があります。
 nodeのコマンドプロンプトを起動して、次のコマンドを打ち込みます。


npm install @atproto/api

 npmもモジュールをインストールしないと使用できませんので、そのあたりはほかでお調べください。このほか、僕が使用したモジュールは、JSDOMと、https、JIMPですが、こちらもnpmでインストールしてお使いください。


npm install jsdom
npm install jimp
npm install https

 でOKです。
 さて、プログラムを使用するまえに、一つ大切なことが御座いまして、それはBlueSkyのapiキーを取得することです。少し調べればすぐ判ることですので、ここではその方法は、割愛させて戴きます。

 apiキーを取得したら、プログラムを走らせる機械を探さねばなりません。サーバーに契約すると、サーバーにプログラムを常駐させることも可能なようですが、多くのサーバーは有料ですので、ここでは自分のマシンを使用します。しかし、WindowsはLinux系のようなdaemonが存在せず、スリープにしてもdaemonが動かなくなってしまうので、時間毎にマシンを覚醒させる必要があります。そこで使用するのが、タスクスケジューラーです。
 タスクスケジューラーも、スリープ状態では動きませんが、時間を指定ししてタスクを行うときに、スリープを解除して行う設定にします。

 このように、タスクスケジューラーで、時間毎にスリープを解除させて、node.jsのプログラムによるタスクを起動することをします。タスクを終了したあとに、またスリープに戻さねばならないために、タスクはbatファイルを指定して、再スリープを命令します。

cd C:\Users\●●●●\bsky_bot
node bot.js
psshutdown -d -t 0

 このバッチファイルで、bot.jsが今回紹介するプログラムです。また、シャットダウンするために、psshutdownを使用しており、これはsystem32にインストールしてやらねばなりません。

 このようにすると、コマンドラインからスリープすることができます。
 そして、ようやく本論の、bot.jsにあたるブログラムですが、ここからは有料記事とさせて戴きます。

ここから先は

5,955字 / 4画像

¥ 500

この記事が気に入ったらサポートをしてみませんか?