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にあたるブログラムですが、ここからは有料記事とさせて戴きます。
ここから先は
¥ 500
この記事が気に入ったらサポートをしてみませんか?