リツイート抽選サービス「ついせん」をはじめました。
ツイッターのリツイートで抽選を行うためのサービス「ついせん」を作りました。
無料で使えてリツイート抽選できます。
ツイッターのリツイートで抽選を行うサービスでは国内では「あたれら」くらいだったのですが、「あたれら」さんは、抽選処理を同期的に行う仕様上、TwitterAPIの7日以前の検索が行えない制約から最大7日間までの範囲での抽選企画を対象としています。
しかし、最近Twitter社さんは有料APIに力を入れていて去年の11月ごろから無制限に古いデータを検索できるようにしていています。
Twitterがより自由にデータにアクセス可能となる開発者向けプレミアムAPIをリリース - GIGAZINE
ですので有料APIを使用すれば同期的処理であっても7日縛りを突破できます。
「あたれら」さんのプログラムで有料APIを使用すればOKな感じです。
でも無料サービスで月額17,000円の有料APIを使うのは辛いし無料APIの範囲で何とかしてみたい・・・ということを考えまして「ついせん」を作成しました。
あと、Durable Functionsを使ってサービスを作ってみたかった・・・という理由もあります。
「ついせん」ではリツイートしてもらいたい対象のツイートを登録するときに、締切日時を設定します。 この締切日時は1ヶ月後でも1年後でもOKです。 「ついせん」は締切日時までリツイートしてくれたユーザを収集していきます。 そして締切日時を過ぎたら収集したユーザの中から抽選を行います。 これによって無料で7日の縛りを越えるようにしています。
またリツイート数の制限も特に設けていません。 ツイッターのSearchAPIはRateLimitが結構厳しいので15分間に180になります。 この辺も非同期に処理する仕組みなので乗り越えています。 試験では40000RTまで確認しました。
動作環境としてはAzureで動作させていてWeb Apps(F1) + SQLDatabase(Basic) + Azure Functions(従量課金) + Azure Storageっていう感じです。
現状は運用費用は月額600円くらいです。「あたれら」さんがあるのであまり使われないと思いますのでSQLDatabaseの部分を別のストレージに置き換えれば無料で運営できるかなぁとか思います。
無料で使えますのでお気軽にご利用ください。