server-sideからwebsocketを通じてscrapboxへ書き込む
もしかしたらいけるかも
この文が書き込めているとしたら、server-sideからwebsocketを通じてscrapboxへ書き込むことに成功したことになる。
もしこの文が書き込めてるとしたら、私はもうこの世にいないでしょう

おおおー

もちろん、serverからの書き込みはpuppeteerを使って行うこともできるので、仮にこれが成功したとしても、それがどれだけ価値のあることなのかはわからない。
リソース消費が抑えられる

あとdropped malformed message waiting for idというDNSまわりの警告が出ているのも気になる。あんまり安定した方法ではなさそう。
成功した。まじか
手法
このpackageが提供する WebSocket
は、Web APIのものとは違ってCookieやRefererを渡せる
実装
この記事が書かれた当時はまだなかったが、今は
extraHeadersからsocket.ioにcookieなどを渡せるようになった
ただ、書き込み処理に必要なREST APIの実行処理に
connect.sidを渡すコードを書いていなかったので、そこだけ修正が必要
よかったら公開してほしい

0.29.5から実装しました

神

できるようになったこと
LLMとの協調に使えそう
寝てる間にLLMにscrapboxを読ませてコメントさせるとか
いいですね〜

Scrapbox書き込み用ライブラリ作れば誰か使いそう

クライアントだけ任意のものにして、バックエンドをscrapbox.ioにする
あんまりやり過ぎると
利用規約改訂されて締め出されるので、ほどほどに
サーバー負荷かけないとかサポートに負担かけないとかは必須なので、そういうのを作るのであれば早い話が身内向けにした方が良い
だからUserScriptとついている
なるほど

かなりhackyだしなあ
課題
毎回出るわけでもなさそう

が詳しそう

Denoのinstanceが終了しないのも気になる
なんらかの終了処理がうまくいっていない
こっちで再現しないので環境依存っぽい
