Blueskyで動くPHP製のbot
Blueskyで動くbotをPHPでつくったときのメモ。botの内容は、txtファイルに書かれた内容をランダムに投稿するというオーソドックスなもの。
まずBlueskyでbotを動かすアカウントのアプリパスワードを作成・取得しておく(設定「高度な設定」項目にある)
composerのインストール手順は割愛。
ライブラリはpotibm/phlueskyを使用する。composerでインストール。
composer require potibm/phluesky
txtファイルを用意。
おはようこんにちはこんばんはおやすみ...
PHPファイルの中身。2行目/vendor/autoload.php
のパスは適宜修正。
//Import Libraryrequire './vendor/autoload.php';use \potibm\Bluesky\BlueskyApi;use \potibm\Bluesky\BlueskyPostService;use \potibm\Bluesky\Feed\Post;
//include file$filelist = file('./list.txt');if(shuffle($filelist)) { $bsky_post = $filelist[0];}
//settingdefine('USER_NAME', 'Blueskyのアカウント名');define('APP_PASSWORD', '取得したアプリパスワード');
class bluesky { private $api = null; private $postService = null;
public function __construct() { $this->api = new BlueskyApi(USER_NAME, APP_PASSWORD); $this->postService = new BlueskyPostService($this->api); }
public function post($text) { $post = Post::create($text); $response = $this->api->createRecord($post); return $response; }}
if($argv[0]) { try { //ポスト $status = (new bluesky)->post($bsky_post); //レスポンス確認(成功 / 検証用) //var_dump($status); } catch (\Throwable $error) { // エラーを表示 //echo "[{$error->getCode()}] {$error->getMessage()}"; }}
PHPスクリプトをcronで叩くなどして投稿する。