イーロン・マスク氏のツイッター買収後、「悪質なbotを排除する」との宣言通り、2023年4月に多くのTwitter上のbotが活動停止しました。僕も運営していたbotが活動停止し、半ば復活を諦めていたのですが、先日、再稼働に成功しました。その方法について解説します。専門知識、無くても大丈夫です。
※前置きがめっちゃ長くなってしまったので、急いでいる人は目次で手順の説明まで飛んでくださいませm(_ _)m
Twitter botと悪質bot排除の背景
ツイッターbotとは、人間ではなく自動化されたプログラムによって操作されるアカウントのことです。ツイッターbotは、様々な目的で利用されています。例えば、ニュースや天気予報を配信するもの、アニメキャラのセリフをつぶやくもの、等。
そんな中、偽情報を拡散するもの、詐欺を行うもの、不正なプログラムの拡散を行うものなど、悪質なbotもたくさん存在しました。そのようなbotは、ツイッター内の秩序を乱し、サーバー等リソースを圧迫するという問題がありました。いい事なしです。経営的にも苦しいツイッターはなんとかする必要があったようです。
その後、やると言ったり延期になったりを繰り返したのですが、2023年4月にTwitter上のほぼすべてのbotが活動停止したわけです。
bot排除に際して、マスク氏は「善良なbotに関しては例外的に無料でAPIアクセスを許可する」との言葉を残しています。
その後、ツイッターのCEOを辞任するとかの話でうやむやになってしまったのですが、僕をはじめとする、テクノロジーに疎い一般ユーザーはこう思ったのでした。
え、無料のAPI公開は結局どうなったん?
使ってたbotサービスとかも、設定しなおしても全然動かないんですけど…。
(前置き)ちょっとだけ複雑になったTwitter bot作成
実は普通に公開されてる無料API
実は、無料APIは既に、普通に公開されております。新たにDevelopersの登録をする必要はアリ。英語ページから入ると登録ページがあるのに、日本語ページから入ると登録ページが表示されないという不親切。これアカンのちゃう?(笑)
自作に挑戦…断念
調べていると、サービスを介さずに自力でbotを作成しているツワモノ達も散見されました。彼らの公開コードなどを参考に、CSVとかでツイートデータ作って、認証~自動ツイートのプログラムをPHPで作成してcron設定すれば、案外いけるんじゃね?
…と机上の空論では思ったのでしたが、うん、サーバーサイドのプログラムは簡単なのしか書けんし、時間無いからちょっと無理かなー、っとあっさり断念(笑)
昔はめっちゃ簡単だったbot作成
こんな知識も実力もフワフワな状態でも作れるくらい、昔のbot作成って簡単だったんですよ。よくある「占いメーカー」みたいに、botサービスの連携アプリ承認してログインしてツイート内容設定する程度。はっきり言って誰でもできるレベルでした。だから悪質なbotが横行してたのよね…。
実は普通に対応しているbotサービス
さて、以前までの僕は主にtwittbotさんを利用していたのですが、現在はサービスを停止(終了?)しているようです。現状稼働しているbotサービスを調べたところ、Botbirdさんが稼働している様です。
twittbot感覚で設定しても、うんともすんとも言わないので、これもまた諦めておりました(忍耐力…)
しかし、先日たまたまDevelopersで取得したAPI Key等の入力欄を発見したため、そこにAPI Keyやらアクセストークンやらを入力したところ、無事に稼働しだしたではありませんか!
いや、めっちゃ簡単やん!
すみません、たぶんきっとどこかに説明書きとか書いてあったのでしょう。しかし、僕そういうの読まないタイプなんです。基本、感覚と雰囲気でやっちゃうタイプなんですわ・・・。
ということで、僕の運営しているウクレレコードbot(メイン垢よりフォロワー多いじゃねえか…!!)が息を吹き返したのでした。ありがたやー。
はい、ここまで前置き。長くてごめんね。説明に入るよ!
bot作成のおおまかな手順
- Twitter Developersに登録
- Appの設定(「User authentication settings」を「Read & Write」以上に!←見落とされがちだけど超重要)
- 「API Key」「API Key Secret」「Access Token」「Access Token Secret」の4つを入手←最重要
- Botbirdにログイン(アカウント作成)
- Botbirdの「ボットトップ(設定)」に上記「API Key」「API Key Secret」「Access Token」「Access Token Secret」の4つを入力。
- ツイート内容やつぶやき時間の設定をすれば完成。
※注意事項
- 無料版で作成できるbotは基本、「ランダム(定期)ボット」や「時報ボット」のみです。つぶやくだけ。
- 1日のツイート数は50ツイートまで=1ヵ月1500ツイートまでの制限あり。
- うまく動かなければ、以下の設定も確認・実施。
- Twitterアプリ設定の「User authentication settings」を確認。「App permissions」に Read and Write 以上の権限を指定
- Twitterアプリ設定の「Callback URL」に https://mtbrs.net/twcallback を指定
PCでのスクショを交えて具体的に解説。
Twitter Developersに登録
https://developer.twitter.com/enにアクセス(英語版)。日本版のjaの方は登録非対応。
フリープランのGet Startedをクリック
Sign up for free Accountをクリック。有料の方と間違わない。
開発者ポリシーへの同意。ここが大変(;^ω^)
最初のテキストボックス:APIを利用するケースに関して、すべて説明せよ(250文字以上)
3つのチェックボックスをチェックして送信。それぞれのボックスの意味は
- Twitter API 経由で受け取ったものを再販してはいけないことを理解するものとします。
- 開発者契約または組み込まれた開発者規約のいずれかに違反した場合、開発者アカウントが終了される可能性があることを理解するものとします。
- 利用規約に同意します
250文字以上の利用法説明のボックスに関しては、日本語でも一応送信できるっぽいです。よーわかりませんが、念のため、Google翻訳使って英語に直して送信しときました。250文字も書く事がなくても、とりあえず送信可能になるまで書きまくる。うおー!!
ここまでできれば、ひとまずDevelopersへの登録は完了です。
Appを作成
ダッシュボードにログインすると、最初はこんな画面が表示されていると思います。
とりあえず、Default projectをクリック。サイドバーから入ってもOK。
プロジェクトオーバービューのページに遷移するので、セッティングをクリック。
プロジェクト設定画面に遷移するので、エディットをクリックしてください。
エディット画面です。プロジェクトの名前とか説明をそれっぽく入力してください。Project useは選択式。今回はbot作成なので「Making a bot」でOK。
エディット完了。先ほどの入力内容が反映されていればOK。
Appの設定(User authentication settings)
ここからが見落とされがちだけど重要なポイントです。注意して確認していきましょう。先ほどのページを下にスクロールしていくと、以下のような画面が出てきます。
設定の歯車マークを押して設定画面へ。
※ここに限らず、いろんなとこに、この歯車マークと鍵マークが並んだセクションが表示されているので、どこからでも入っていきましょう。
App詳細画面に遷移します。
EditでApp名やアイコン設定をしておくと、あとでわかりやすくなるかもしれませんが、フリープランで1アカウントだけなので、今は不要でしょう。
地味だけど重要なのが、User authentication settingsです。Set upをクリック。
きました。重要設定です。
ここで、Appにどこまでの権限を与えるか、設定できます。デフォルトのReadでは書き込み(つぶやき・ポスト)ができません。Read and write以上の権限付与する事で、つぶやきが可能になります。
- Read:デフォルト設定。読み込みのみ。
- Read and write:読み込み&書き込み。とりあえずこれ押しておけばOK。
- Read and write and Direct message:ダイレクトメッセージも許可する場合。そもそもフリープランでは許可されてないから、無課金の私には関係ない(ぉ
ここの設定が完了すれば、重要設定の一つはクリアです。
そして下の方へスクロール
APPタイプを選択(必須)BotなのでWeb Appです。
App infoにコールバックURL(必須)とWEBサイトURLを入力(必須)
コールバックURLは今回BotBirdさんを使う予定なので「https://mtbrs.net/twcallback」です。他サービスや、自前のサーバーで動かす場合は、他のURLを入力します。
WEBサイトが特になければ、ツイッターアカウントのURLを貼っておけば良いかと思います(笑)
あとの入力項目は全て任意入力なので、下の方までスクロールしてSaveでOK。
パーミッションが変わるとAppに影響でるけど大丈夫?もちろんYES!!
設定はこんな感じです。お次はAPI KEYなどの入手です(=゚ω゚)ノ
「API Key」等 4つを入手(最重要)
Developersのページでもうひとつ重要なのが、以下の4つの入手です。
- 「API Key」
- 「API Key Secret」
- 「Access Token」
- 「Access Token Secret」
もう一息です。がんばりましょう(=゚ω゚)9
先ほどの設定ページから、Keys and tokensをクリックすると、このページに飛びます。
※歯車と鍵のアイコンが並んでたところの、鍵のマークを押してもここに来れます。
APIキーとアクセストークン用のGenerate(生成)ボタンがあるので、ここをクリックです。
こんな画面が出てくるので、もちろん「イエス!リジェネレイト!」
※一度BOT設定を完成させた後で再度このボタンを押すと、BOTが動かなくなってしまうので、注意しましょう。
こーんな画面が表示されるので、Copyを押してテキストエディタなどに一時保存。Yes, I saved them(はい、私はこれらを保存しました)を押すと、画面が閉じてしまうので注意されたし。
ここまで出来ればDevelopersページでやる事は完了です。大変でしたね…。あとはBotBirdのページへ。こっちはデフォルトで日本語なので簡単ですよ(=゚ω゚)b
Botbirdにログイン(アカウント作成)
Botbird | いのちをふきこむボット作成ツールにアクセス
アカウントを作成、またはTwitterでログイン等を選択しましょう。
ここは案内通りに進んでいけばOKです(=゚ω゚)b
「ボットトップ(設定)」に上記「API Key」等 4つを入力
ボットトップ設定から入り、「API Key」「API Key Secret」「Access Token」「Access Token Secret」の4つを入力して設定するをクリック。
ここで連携アカウント名が表示されれば連携成功です。
ツイート内容やつぶやき時間の設定
あとはもう簡単です。
定期(ランダム)ボットにアクセス
案内に従って、つぶやき頻度・順番を登録します。
内容の登録も非常に簡単です。テキストボックスに内容を入力して、追加するを押すだけなので、直観的にわかりやすいと思います。
さらに高度なBOTに関して
@返信やダイレクトメッセージなどの機能を持たせたBOTも実装可能でしょうが、基本ツイッターの有料プランなので、今のところ自分は検証・解説する予定はありません。特に自動返信しなきゃいけない場面とかもありませんし。自動つぶやきだけで十分。
DMも悪用されるイメージが強く、やりたい放題やらかしてきたユーザーがたくさん居たから、イーロンさんも今回の様な思い切った措置をとったのかな、と。
自動フォロー機能とかもそんな感じと思います。
お疲れ様でした。
いかがでしたでしょうか?
ちょっとスクショの撮り方や、解説の入れ方が雑で、わかりにくかったかもしれません。とりあえず、Developersページの英語がつらい感じですが、内容的にはそんなに複雑な事は書いてないので、だいだいここで紹介させて頂いた内容を参考に登録・設定を乗り切ってもらえば、あとは楽ちんかと思います。
元気があれば動画解説もしたいところですが、この記事を書きだしたのが8月の中旬で、完成が9月中旬に差し掛かっているという(サムネも修正しました。笑)
今の更新力だとちょっとキツイかなーという感じですが、気力があれば取り組んでみたいと思いますm(_ _)m