Twitterの複数アカウント管理(捨てアカも含む)のためにシステム(自分用)をサクッと開発します。
機能の考え方と実装パターンなど記録的に残す。
アカウントの自動量産はむずかしい。
そこは今回手動でやって登録後が自動になるようにする。
Contents
システムの機能というかやりたいこと
複数のTwitterアカウントを管理したい
捨てアカウントとか含めて大量にアカウントある場合の管理を行いたい。
メインアカウントとかはいいとして捨てアカウントは生成されたパスワード(大文字小文の英字数字字記号)で覚えられなかったりするので。
なのでパスワードは暗号化して保存しないw
見れないと困るので。
復号化できるようにでもいいけども
一覧で管理するだけならスプレッドシートとかでもいいけどね。
定期的にデータ取得して更新したり、操作もAPIでできるのでシステムで管理したほうが便利。
twitterのIDで紐付けられるのでscreen name(@がつくほう)変えたりしても更新できるし。
フォロー数フォロワー数とかも見られると状況がわかりやすい。
あとは何のためのアカウントかのメモ残したり、タグ付けして何系かとかも。
アカウントに関して見れるようにしておく情報!
自動で取得するやつ
- Twitter ID
- 名前
- ユーザー名
- プロフィール画像
- 自己紹介
- フォロー数
- フォロワー数
- ツイート数
- いいね数
必要なら入力しておくやつ
- メールアドレス
- パスワード
- タグ
- 備考
アカウントの登録
OAuth認証で連携したらサクッと登録できるようにする。
日別で数値系データの記録
どうせアカウント情報取得して更新行うので日別で変化がわかるように残す。
- フォロー数
- フォロワー数
- ツイート数
- いいね数
プロフィールの自動設定
捨てアカのプロフィール設定めんどくさいので自動でいい感じに設定したい。
いろんなユーザーのプロフィールを元に組みあわせてつくる。
その時にアカウント(管理下にないやつも含めて)にタグつけておけば、きまったジャンルのアカウントができる。
ビジネス系とかアニメ系とか病み系とかね。
自動フォロー
指定した条件のアカウントを自動でフォローする。
フォローした記録もDBに保存しておく。(既にフォローしてたり過去にフォローしたやつ除くため)
まずユーザー探すための条件としてキーワードかな?
ハッシュタグもキーワード指定だし。
あとはフォローするかの条件はどのくらい用意しようかな。
最初から鍵付きは除くとして、プロフィールどれだけ入れてるかーとかフォロー数とか見てもいいけど、まずはそこまでしなくていいような?
キーワードである程度の対象は絞れるだろうし
アカウントごとに自動フォローの有効無効と対象の条件を設定できるように。
アカウントごとの処理流れ
- 指定キーワードでユーザー検索
- フォロー条件満たしているかチェック
- フォロー
あとはフォローする量の設定かな。
実行自体は毎時とかにしとくか。
毎時何人までフォローするか設定できたらいいか。
10人くらいなら過去やっても平気だった記憶。
自動フォロー解除
自動でフォロー解除させる。
フォローした記録もDBに保存しておくのでそれを元に解除していく。
自動解除も入れておかないと自動フォローでフォローばっかり数字大きくなってしまう。
たしかフォローの数がフォロワーより多すぎると的なのあったはず。
設定としては自動フォロー解除の有効無効とフォローから何日経っていたら解除するか、毎時何件まで解除するか。
フォローしていきなり解除なのも意味ないので指定日なってから解除していけばOK。
フォローが返されてきて、解除してもそのままであれば自動的にフォロワー数が増えていく。
捨てアカっぽさをなくす
自動プロフィール設定と自動ツイートでどうにかする。
ツイート定期的にされていけば、放置アカウント感は減るはず。
自動ツイート
投稿する内容生成するのはなかなか大変であるし、捨てアカウント用なのでそこまでする必要はないな。
手軽に文章用意するなら人のツイートを元にしちゃう。
タグ指定か指定アカウントのツイートを取得して、それをベースに投稿する。
前にやった失敗としてメンションついてたりするやつそのまま投稿させたら、コピー元に反応されてしまったのでそのあたりを考慮する。
あとは投稿頻度には注意。
頻度の設定もできるようにしておく。
自動いいね
指定キーワード(ハッシュタグとか)のツイートに対して自動でいいねつける。
1日に同じユーザーのツイートにはつけないように制限しておく。
1日の上限あるはずだけど、毎時ごとの量設定用意するくらいにする。
あとはなくてもいいんだけど古い日時のいいねも削除しておく。
凍結対策
APIの利用制限
15分あたりとかで制限あるので気をつける。
そしてPOST系はアプリケーション単位であったはずなのでなおさら。
GET以外の頻度にとにかく気をつける。
アプリケーション
アプリケーション自体複数つくってシステムに登録できるようにしちゃう。
アプリケーション単位での凍結もあるのでそれのリスクも軽減
プロフィール埋める
ちゃんとプロフィールとか画像設定もしておく。
通報とかもあるからね!
メールと電話認証
必要に応じて。
アカウントの重要さにもよるかな。
開発とかソースとか
PHP
Laravelで開発します。
Jobとキュー使ってAPI制限考慮しながらうまいことおこなう。
過去のソースとかいろいろあるからそれら合わせてサクッとつくっちゃう。
デプロイ
公開予定もないし、ドメインもいらないくらいだからどこにするか。
コストかからずに放置しててもいいところで考える。
使いたい人がいる場合
今回の仕様は分散のためにTwitterアプリケーション自体わけるようにしているから、アプリケーションの登録(作り方)がわからないーとか、ソースそのままgitで公開しても環境つくったりできない人の問い合わせとかめんどくさそうなので一旦は自分用にする。
場合によってはソースだけ公開するかもしれない。
ちゃんと分かる人はそのまま使えるし。