AI&自動化ツール

【2024年版|基本無料】 X(旧Twitter)Bot作成の完全ガイド

SANA

こんにちは。

X(旧Twitter、以降はXと呼びます)での自動投稿Botの作り方についてはネット上のサイトやSNSで紹介されていますが、今回は私自身が一番オススメする方法を紹介したいと思います。

また、先日には画像データも含めて投稿できるグレードアップ版の解説もしていますのでこちらもご覧いただけると幸いです。※個人的にはこちらがオススメです。

あわせて読みたい
【2024年最新】X自動ポスト(画像を含む)Botの作成方法
【2024年最新】X自動ポスト(画像を含む)Botの作成方法

この記事ではノーコードで異なるアプリ同士を接続できる『Make』を使用し、あらかじめ用意したポスト内容をランダムに抽出して一定の時間間隔で自動ポストするBotシステム構築手順を公開します。

加えて、こちらの方法は

無料』でできちゃいます。

1日数回のツイートぐらいならタダでできちゃうのでこの点もオススメです。

この記事では、アカウントの設定から始め、Botの構築手順を一つ一つ丁寧に説明していきます。少し長くなりますが、その価値は十分にありますので、最後までご覧ください。

それでは始めていきましょう。

まずは『Make』のアカウント作成

さて、今回なぜ『Make』を使用するのでしょうか?その主な理由は以下の通りです。

① 多様なアプリとの容易な接続:ChatGPTやLINEに加えて1,400以上のアプリとの接続が容易でシステムの拡張性が高い。

② ノーコードで実装:複雑なプログラミング知識が不要であり、直感的な操作でシステム構築可能。

③ 実行間隔の柔軟な調整:Botの実行間隔調整が容易のため、利用者のニーズに合わせてカスタマイズが可能。

『Make』を使えば、高度なプログラミング無しで自分のアイディアを素早く形にできます

こちらからの登録で1ヶ月間Proプランが無料※

※上記から登録すると、今なら1ヶ月間無料でProプランを利用できます。お試しにはちょうど良いかと思います。また、課金登録をしない限り、料金が請求されることはありませんのでご安心ください

『Make』の詳細を知りたい方は、以下の記事で詳しく解説しています。

あわせて読みたい
【ノーコード開発/業務効率化】『Make』を使った未来のシステム開発を解説!
【ノーコード開発/業務効率化】『Make』を使った未来のシステム開発を解説!

X自動投稿用Bot作成へのロードマップ

XのBotシステム構築のざっくりとした流れは以下の通りです。

Bot用と管理用アカウントの作成

アカウントを用意します。

各サービスのAPIキー情報の取得

Developers向けサイトにて必要な情報を取得します。

Make上でのシステム構築

Xと他のアプリを接続し、Botシステムを構築します。

自動ポストの定時実行

設定した時間間隔で自動的にポストを行います。

STEP1とSTEP2については事前準備段階として次章に手順をまとめています。

それでは、一緒に進めていきましょう!

事前準備

Bot用のアカウントの作成

XでBotを運用するには、Bot用アカウントと管理用アカウント(通常使用する個人用アカウントでもOK)の作成が必要です。Bot用アカウントが個人用アカウントと混同されず、効率的に運用できるようにするためです。

アカウントを2つ作成したら、Botにしたいアカウントで「Settings and privacy(設定とプライバシー)」→「Your account(アカウント)」→「Account information(アカウント情報)」→「Automation(自動化)」を選択し、管理用アカウントを設定します。

この設定後、Bot用のアカウントに「自動」または「automated by @管理用アカウント名」が表示されればOKです。これでBot用アカウントと管理用アカウントの作成が完了しました。

XのAPIキー情報を取得

外部(今回でいうと「Make」)からXのサービスを利用するにはAPIキー情報が必要となります。このAPIキー情報を通じて、Bot用のアカウントを操作します。

XのDeveloper向けサイトにてアカウント作成

まず、XのDevelopers向けサイトにてアカウントを作成します。アカウント作成は基本的にスムーズに進められると思いますが、アカウントを申請する理由や用途を英語で書く必要があります。記事最後のAppendixに例文をまとめているのでそちらの文章を適宜修正してコピペすれば問題ないです

APIのプラン選択

次にAPIキー情報のプラン選択ですが、以下に2024年5月現在のプラン表を転載します。

初めて利用される方は「Free」プランをおすすめします。理由としては、2024年現在「Free」プランの上位プランである「Basic」プランは月額1万円以上支払う必要があります。そのため、多少の機能制限はありますが、「Free」プランを利用してみて問題なく運用できそうであれば上位プランを選択するといった流れのほうが賢明であると思います。

個人的には「Free」プランであっても1,500件/月のポストが可能のため、十分に遊べます。

APIキー情報の取得

アカウント作成が終わったら開発ポータルより以下の画面を開きます。

赤丸で囲われてる「Client ID」と「Client Secret」がAPIキー情報となるので、メモ帳にコピペしてください。「Client Secret」を忘れてしまうと、再度発行し直す必要があるので注意してください(再発行は簡単なのですが、後に出てくるMake上の設定も変える必要があります。)

このAPIキー情報を使用することで、MakeからXのサービスを利用することができます。

Google APIキー情報を取得

今回、ポストする用に準備したファイルはGoogle Driveに配置します。こちらについても外部(今回でいうと「Make」)からGoogle Driveのサービスを利用するため、APIキー情報が必要となります。取得手順は以下の記事で詳しく解説しています。Googleドライブのファイル読み込み用のAPIは無料で使えますのでご安心ください。

あわせて読みたい
Googleのパワーを手に入れる!初心者向けのAPI取得完全ガイド
Googleのパワーを手に入れる!初心者向けのAPI取得完全ガイド

システム構築手順

ここからMake上で構築作業をしていきます(ロードマップ上ですとSTEP3、STEP4に対応しています)。

まずはデータの流れを設計する必要があります。実現方法は様々なのですが、今回は以下のように設計をしました。

ポスト内容の準備

JSON形式でまとめたポスト内容をGoogle Driveに配置する

※JSON形式のファイルではなく、『Make』DB機能を利用する方法は以下で解説してます。

【X自動投稿】Makeデータベースを使ったデータ管理
【X自動投稿】Makeデータベースを使ったデータ管理
【X自動投稿】Makeデータベースを使ったデータ活用
【X自動投稿】Makeデータベースを使ったデータ活用
データの読み込み

STEP1のJSONファイルを読み込み、リストとして保持する

ランダムなデータの選択

乱数を使ってSTEP2のリストから特定のデータを抽出する

自動ポストの実行

STEP3で抽出したデータをXへ自動ポストする

繰り返しの設定

STEP2〜STEP4の繰り返し実行設定をする

JSON形式とは?

正式名称はJavaScript Object Notation(略してJSON)で、人間及び機械にとっても読みやすい形式で記述されます。下にJSON形式の例を貼っておきます。例えば”name”は項目名、”John Doe”が値に対応しています。

<例>

{
“name”: “John Doe”,
“age”: “30”,
“hobbies”: [“reading”, “gaming”, “hiking”]
}

少し説明の順番が前後するのですが、先にシナリオの完成図を見ながら読んだ方が理解しやすいと思うので下に示します。番号は上で述べたデータの流れに即しています。

それでは始めていきましょう。

STEP1:ポスト内容の準備

GoogleDrive上の任意の場所にJSON形式のファイルを配置します。今回使用したhoge.jsonは以下となります。「id」はファイル内で一意となるように採番しており、「word」はXにポストしたい内容です。

JSON形式のファイルではなく、『Make』DB機能を利用する方法は以下で解説してます。

【X自動投稿】Makeデータベースを使ったデータ管理
【X自動投稿】Makeデータベースを使ったデータ管理
【X自動投稿】Makeデータベースを使ったデータ活用
【X自動投稿】Makeデータベースを使ったデータ活用

STEP2:データの読み込み

Makeにログインして新しいシナリオを作成してください。

まずは「Google Drive」<Download a file>モジュールを配置します。

その後にAddを開いて、事前準備で取得したGoogleのAPIキー情報を入力します。

次に『JSON』<Parse JSON>モジュールと『Array aggregator』モジュールを下の赤丸のように直列で配置します。

各モジュールは以下の処理を行っています。

『JSON』<Parse JSON>モジュール・・・Google Drive上にあるJSONファイルの読み込み。

『Array aggregator』モジュール・・・渡される変数をリストとしてマッピング。

具体的な設定内容は以下を参照してください。

「Array aggregator」モジュールでは読み込んだJSONファイルのどの項目を使用するかを設定しています。今回は全項目を選択しています。

設定が終わったら「Run once」ボタンを押して実行してみましょう。実行できたら『Array aggreagater』モジュールの虫眼鏡ボタンを押してJSONファイルの内容がOUTPUT内にリスト化されていれば問題ないです。

STEP3:ランダムなデータの選択

次に、リスト化されたポスト内容から乱数を使って1つのポスト内容を選ぶ仕掛けを作成します。

まず、「Math」モジュールを配置してrandomintを1〜MTAGGLENGTHの範囲から任意の整数が選ばれるようにします。MTAGGLENGTHはリストの長さがセットされるため、リストの長さが10であれば10が動的にセットされます。この乱数をつかって、リスト化されたポスト内容の中から任意の1つを抽出します。

STEP4:自動ポストの実行

『Twitter』<Create a Tweet>モジュールを右端に配置します。(Make上だとまだTwitterのままなんですよね。)

「Twitter」モジュールのConnectionのAddを押すと「Client ID」と「Client Secret」があるので、前編で取得した「Client ID」と「Client Secret」をコピペしてください。

あとはText Content項目に配列のデータを埋め込んでください。自由に書き込んで問題ないのですが、通常、Xは140字という文字数制限があります。そのため、文字数は140字以内にしてください。

テストとして「Run once」ボタンを1回押してみてください。Xにポストされていれば疎通ができたことになります。

STEP5:繰り返しの設定

最後に左下にあるスケジュールのボタンをONにして完了です。下の画像だと、100分ごとにポストされるように設定されてます。同じ内容のポストを続けたり、頻繁にポストを続けるとX側からエラーが返却されますので注意してください。

これでX自動投稿用Bot完成です。お疲れ様でした。

まとめ

本記事では『Make』を使用したX(旧 Twitter)の自動ポストするためのボット作手順を公開しました。『Make』を使用することで、その他のモジュールを接続して自分のオリジナルシステムを構築することが可能になります。ぜひ楽しんでください。

Appendix

XのAPIキーを取得する際の申請理由

データ分析目的:
“I am seeking to access the Twitter API to perform comprehensive data analysis. My objective is to understand and visualize social media trends, user engagements, and the impact of marketing campaigns. By analyzing tweet patterns and user interactions, I hope to gain valuable insights into consumer behavior and preferences. This will not only enhance my data science skills but also contribute to the broader field of social media analytics.”

学術研究用:
“My application for a Twitter Developer account is driven by academic research purposes. I aim to utilize the API to collect and study data regarding public opinions on environmental issues. This research will involve analyzing tweets to understand the public’s perception and awareness of climate change. The results will be used to support a study at [大学名を書く], aiming to contribute to the academic understanding of digital activism and its impact on social movements.”

アプリ開発プロジェクト用:
“I intend to use the Twitter Developer account to create an application that integrates Twitter data for real-time sentiment analysis. The focus will be on developing a tool that can aggregate and analyze tweets on various topics, providing instant sentiment scores. This application is aimed at businesses and researchers who seek to understand public opinion on current events, products, or services in real time.”

JSONファイル例

◆hoge.json

[
{
“id”: “1”,
“word”: “テスト1だよ〜”
},
{
“id”: “2”,
“word”: “テスト2だよ!”
},
{
“id”: “3”,
“word”: “テスト3だよ?”
}
]

Xからの読者コメントをお待ちしています。
ブログ更新の励みになります!
ABOUT ME
さな夫
さな夫
JTC エクストリーム中間管理職
東京生まれ。30代。大学院修了後に今のSIer会社へ就職。普段はアプリ開発の設計を担当。奥さんと子供2人とほのぼのとした日常を過ごしながら技術系のブログを執筆中。
記事URLをコピーしました