Just another IT site ※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。At Your Own Risk!! TURN BACK WHILE YOU CAN
PR

Twitter(X)のAPI有料化に伴うBot投稿(APIリクエスト)数の削減

※IT系の記事は当方環境での実施内容となるため実施する場合は自己責任でお願いいたします。スクリプトはAI生成のものも多いのでコピー&ペーストの際は文字コードに注意ください!
スポンサーリンク
バッチ処理の自動化スキルは市場価値が高いです。今の自分の単価を調べてみませんか?
顧客常駐はもう嫌だ!社内SEへ転職するなら【社内SE転職ナビ】
Cursor・Claude Code・Codex AIスキルを学ぶなら
環境構築不要!AIエージェント開発を非エンジニアでも即実践【AI Agent Camp】

BotのAPIリクエストが有料となり失敗

いくつか持っているTwitter(X)アカウントでBotbirdを使ってBot投稿をしているのですが、Botが止まっているものがあったので、Botbirdの管理画面を見てみると、

402 Payment required

と表示されており、Twitterからのお知らせを見逃していたのですが、APIの利用が有料になっていて、付与されていた無料のクレジットを使い果たしていたためと分かりました。

止めたくないBotのリクエスト数を絞る

これを機にいくつかはそのままBot停止にしようと思うのですが、止めたくないのもあり、とはいうものの今までのような無制限の投稿では、出費が嵩むので、投稿数を絞ってみることにしました。

Bitbirdで使っているBot

①定期(ランダム)ボット

②RSSボット

の2つ

それぞれのBotのリクエスト数削減対応

定期(ランダム)ボット

→投稿間隔を6時間から10時間に

毎日2時間づつ投稿時間がずれますが、下のRSSボットの方が書いた通り、動いたり動かなかったりになるので、何となくこちらの時間を固定したくなかったため、あえてずらしています。

RSSボット

Plaggerでの調整

→読み込ませるRSSはPlaggerで複数のRSSを1つのRSSにする毎時Cronで生成していたのですが、

未だにfeedをまとめるのにPlaggerを使っていますが(2011/10/17の投稿) | TRAINING GROUNDS

そのCron実行を毎時実行ではあるのですが、ランダムに20%の確率で実行するようなちょっと面白いやり方で節約することにしました。

【後で読む】Cronをランダムに実行させる | TRAINING GROUNDS

また、定期(ランダムボット)は1投稿につき、1リクエストを消費するようなのですが、

RSSボットはその時に投稿された数(かず)ぶんのリクエストを消費してしまうようだったので、Plaggerで1つのRSSにする時から遡って1時間以内に投稿された記事だけを対象にすることにしました。

せっかく20%の確率を潜り抜けても、直近1時間前に投稿されたブログが無ければ、スルーという。。。

あまりにスカリ続けるのもあれなので、BotbirdのRSSクローラー?がどうやらAM11時に動いているっぽいことから、1日1回AM10:45だけは必ず、PlaggerのRSSまとめを動かすことにしました。

まぁ、20%でも続けて当たって、かつ時間内の記事もあると、結局1日の合計リクエスト数が増えてしまいそうですが、流行りのガチャ感覚の仕組みも楽しいかなと。

いったん、これで様子をみてみようと思います。2か月5ドル(500リクエスト)ぐらいが目標です。

タイトルとURLをコピーしました