【悩み】
・TwitterのDM送信をPythonで自動化したい!できる限り無料で使いたい。
・TwitterのAPIを使えば良い?お金はかかるのだろうか?
・Twitterを運用しているが時間がない!どうにかして負担軽減できない?
こういった「悩み」に答えます。
【本記事の内容】
① そもそもTwitterのDM送信を自動化するとは?
➁ PythonでTwitterのDM送信を自動化する方法2選
➂ 無料でPythonを使ってDMを自動送信するたった1つの方法
④ 手順:GUI自動化ツールを使ってPythonスクリプトを自作
本記事に掲載した手順を実践したことで、Twitter APIに課金することなくPythonからTwitterのDM(ダイレクトメッセージ)を指定アカウントに送信できるようになりました(下の動画参照)。
記事の前半では「PythonでTwitterのDMを送信する方法」と「無料でPythonからTwitterのDMを送信できるのか?に対する調査結果」を解説します。
記事の後半では、「無料でPythonを使ってDM送信する方法や具体的なプログラム」を説明します。
この記事を読み終えることで、「Twitter APIに課金することなく無料でPythonからDMを送信できる」状態になります。
本ブログでは、Twitter APIなしでPythonから様々なTwitter操作を自動化する方法をご紹介しています。その他の操作自動化を知りたい方は、以下の記事をご覧ください。
>> 【実例8選】APIなしでPythonでのTwitter操作を実現する方法
そもそもTwitterのDM送信を自動化するとは?
以下の順番で、Twitter(現X)のDM(ダイレクトメッセージ)送信の自動化に関してご紹介します。
【ご紹介事項】
・実演で理解!TwitterのDM送信の自動化とは?
・なぜDM送信を自動化したい?利用場面や利点は?
・DMの送信を自動化する際の注意点
実演で理解!TwitterのDM送信の自動化とは?
X(旧Twitter)のDMとは、「Direct Message」の略で、日本語では「ダイレクトメッセージ」と呼ばれます。これは、Twitter上でユーザー同士が非公開で直接メッセージをやり取りするための機能です。つまり、他のユーザーに公開されずにプライベートな連絡を行うことができる手段です。
ですので、DM送信の自動化とは、指定したアカウントに対してTwitterを自分自身で操作することなくDMを送信することを意味します。
Pythonを使うことで、以下の動画のように、自分自身でTwitterを操作することなく、DMを指定したアカウントに送信できます。
なぜDM送信を自動化したい?利用場面や利点は?
TwitterのDM送信の自動化は、以下のように様々な場面で求められています。
場面 | 詳細 |
カスタマーサポート | 企業は、顧客からの問い合わせやフィードバックに対して迅速な対応が求められます。DM送信の自動化を使用することで、自動応答や問い合わせへのテンプレートを事前に設定し、24時間体制で顧客対応を行うことができます。また、生成系AIの1つであるChatGPTを使うことでテンプレートなしで適切な顧客対応も実現できます。(PythonからChatGPTを使う方法はこちら) |
キャンペーン | 新製品の発売やセールの告知など、特定のキャンペーンに関する情報をフォロワーや特定のユーザーに対して効果的に伝えたい場合、自動化されたDM送信を使用することがあります。 |
イベントの案内 | ウェビナーやイベントの案内や登録確認、アジェンダの共有など、参加者への情報提供を効率的に行うために自動化されたDM送信が使用されることがあります。 |
フォロワーへの感謝 | 特定の節目や目標を達成した場合、フォロワーや顧客に感謝の意を示すために自動化されたDM送信が利用されることがあります。 |
また、DM送信を自動化することの利点としては、以下が挙げられます。
利点 | 詳細 |
効率性と即時応答 | 自動化されたDM送信は、リアルタイムでの返信が難しい場合でも、迅速にユーザーに対して応答できます。 |
一貫性の維持 | テンプレートや設定されたメッセージを使用することで、一貫性のあるコミュニケーションを保つことができます。 |
スケーラビリティ | 大量のフォロワーに対して一斉にメッセージを送信する場合でも、自動化を使用することで効率的に対処できます。 |
情報の伝達 | 重要な情報やアップデートを効果的に伝える手段として使用できます。 |
PythonでTwitterのDM送信することで様々なメリットを得られます。そのため、本記事でご紹介する方法を把握することで損はないです。
DMの送信を自動化する際の注意点
DMの送信を自動化することで、様々な恩恵を得られます。ただし、Twitter上では、自動DM送信は禁止されています(下図参照)。
そのため、過度なDM送信の自動化を実施した場合、Twitterアカウントが凍結される危険性があります。
Twitterの公式サイトでは、下図のように公表されています。DM送信を行える回数は、1日に500回です。すなわち、1時間に21回以上DM送信を行うと「過度なDM送信を行った」とTwitterに判定されてしまい、Twitterアカウント凍結の危険性があります。
TwitterのDM送信を自動化することで様々なメリットを得られます。ただし、Twitterからは禁止されている行為であるため、過度に実施するとアカウント凍結の恐れがあるので注意してください。
PythonでTwitterのDM送信を自動化する方法2選
PythonでTwitterのDM送信を自動化したい場合、本記事執筆時点では、以下の方法があります。それぞれの方法の概要を簡単にご紹介します。
【ご紹介事項】
・方法①:Twitterの有料API(Basic以上)を利用
・方法➁:GUI自動化ライブラリを使ってPythonスクリプトを自作
方法①:Twitterの有料API(Basic以上)を利用
Twitterには、「Twitter API」という仕組みがあり、この仕組みを使うことで、簡単にPythonなどのプログラミング言語からTwitterを操作できます。
Twitter APIには以下の4種類があり、PythonからDM送信を行いたい場合、Basic以上を選択する必要があります。
そのため、本記事執筆時点では、月に$100(約1万円弱)支払わなければ、PythonでTwitterのDM送信を自動化することができないです。
項目 | Free | Basic | Pro | Enterprise |
料金 | 無料 | $100/月 | $5000/月 | 価格相談 |
できること | Twitter API v2を使ったツイート作成や削除のみ | Twitter API v2の全機能 | Twitter API v2の全機能 | Twitter API v2の全機能 |
各プランで操作可能な機能や単位時間当たりの制限回数などは、以下の公式サイトで確認できます。詳細を知りたい方は、以下をご覧ください。
>> Twitter API(Free)プランで使える機能と制限回数(公式サイト)
>> Twitter API(Basic)プランで使える機能と制限回数(公式サイト)
>> Twitter API(Pro)プランで使える機能と制限回数(公式サイト)
方法➁:GUI自動化ライブラリを使ってPythonスクリプトを自作
Pythonには、Webブラウザを操作できるライブラリがあります。以下のようなライブラリを使うことで、Pythonプログラム内でTwitterのDM送信を自動で行えます。
ちなみに、冒頭でご紹介した動画では、PyAutoGUIを使って無料でDMを送信しています。
【GUI自動化ライブラリの一覧】
・PyAutoGUI(詳しくはこちら)
・selenium(詳しくはこちら)
以上が、TwitterのDM送信をPythonで自動化する方法となります。ご自身にあった方法を選択しましょう。
無料でPythonを使ってDMを自動送信するたった1つの方法
以下に関して順番に説明します。結論から言いますと、PythonからTwitterのDM送信を無料でしたい場合、先ほどご紹介した「方法➁:GUI自動化ライブラリを使ってPythonスクリプトを自作」を採用するしかないです。
【ご紹介事項】
・そもそも有料ではダメな理由
・無料でDM送信を自動化できるPythonライブラリは存在する?
そもそも有料ではダメな理由
Twitter APIのBasic以上を使うことで、PythonからDM送信ができます。ただし、月1万円程度の費用が発生します。
また、BasicとProの違いの一つとして、「単位時間あたりに発行できるAPI回数」があります。「DM送信のAPIを発行できる回数」としては、以下の違いがあります。
プラン | 発行できる回数 |
Basic | 15分で5回 |
Pro | 15分で200回 |
上記の表より、Basicを選択した場合、APIを発行できる回数が極端に少ないため、実用化に障壁があります。また、APIを発行できる回数が多いProを選択した場合、月50万円程度の費用が発生します。
以上より、費用と回数の問題があるため、Twitter APIを使うことを躊躇する方が多いです。
無料でDM送信を自動化できるPythonライブラリは存在する?
Twitter APIの有料化が2023年3月に実施されました。それまでは、Pythonライブラリであるtweepyで、以下のようなスクリプトを作成し実行することで、無料でDMを指定アカウントや複数アカウント対して一斉送信ができました。
# Pythonライブラリをインポート
import tweepy
# Twitter APIのキーを設定(Twitter Developerで取得)
consumer_key ="xxxx"
consumer_secret ="yyyy"
# Twitter APIのアクセストークンを設定(Twitter Developerで取得)
access_token="aaaa"
access_token_secret ="bbbb"
# tweepyでTwitter API V1.1のオブジェクトを作成
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
# ダイレクトメッセージを送信したいアカウント名
account = 'kakedashiman1'
# アカウントのIDを取得
id = api.user_timeline(account , count=1, page=0)[0].user.id
# 指定したアカウントにダイレクトメッセージを送信
api.send_direct_message(recipient_id=id,text='こんにちわ')
Twitter Developerの登録手順に関しては、以下の記事をご覧ください。
>> 【コピペOK】PythonからTwitterへ自動投稿(ツイート)する手順
また、tweepyのsend_direct_message関数のリファレンスに関しては、以下のサイトをご覧ください。
>> tweepyのsend_direct_message関数のリファレンス(公式サイト)
以上より、PythonからTwitterでDMを送信したい場合、先ほどご紹介した「方法➁」を採用するしかないです。
手順:GUI自動化ツールを使ってPythonスクリプトを自作
多くの人に公開することにより、Twitter社によって「方法➁」が禁止され、Pythonから無料でDM送信する方法がなくなってしまう可能性があります。
大変申し訳ありませんが、方法➁の作り方は、本記事では非公開とさせてください。
どうしても作り方を知りたい方は、以下の有料記事のご購入を検討してください。有料記事には、「プログラムの流れ」「必要なツールやライブラリをインストール手順」「具体的なプログラム」を掲載しています。
>> PythonでTwitterのDM送信自動化を無料で実現する最終手段(Note)
上記Noteに掲載したプログラムの実行例は、以下となります。PythonからTwitterを操作でき、指定アカウントへのDM送信も自動化できています。
上記のプログラムの詳細が気になる方は、以下からアクセスしてください。
>> PythonでTwitterのDM送信自動化を無料で実現する最終手段(Note)
【まとめ】Pythonから無料でTwitterのDM送信は可能!
いかがでしたでしょうか?
上記で紹介した方法を使うことで、Pythonから無料でTwitterのDM送信を行えます。
最後にもう一度内容を確認しましょう。
【おさらい】
・Twitter APIでPythonからDM送信を可能!ただし有料…
・Basicプランでは実用化に不向き、かといって、Proプランは高額である…
・GUI自動化ライブラリを使うことでPythonから無料でDM送信できる
Pythonから無料でTwitterのDM送信するスクリプトを知りたい方は、以下にアクセスしてください。累計販売部数に応じて、価格を上げていくつもりなので、はやめのご購入をオススメします。
>> PythonでTwitterのDM送信自動化を無料で実現する最終手段(Note)
コメント