この記事では、PHPでTwitterAPIを利用してウェルカムメッセージを設定する方法を説明します。
Pythonでウェルカムメッセージを設定する方法も公開しています。
「プログラミングとかめんどいからウェルカムメッセージだけ使いたい」という人は私がツールを公開していますのでそちらをぜひご利用ください。
Twitterにはダイレクトメッセージがありますが、実はその中に通常のTwitterのサイトやアプリでは利用できない隠し機能が存在します。それがウェルカムメッセージです。
ウェルカムメッセージとは、DMが新規に開かれたときに、開いた人に対して事前に設定したメッセージを送信できる機能です。
この記事ではPHPを使ってプログラムを書いていきます。
TwitterAPIを利用するためには開発者登録が必要です。
まだ開発者登録をしていない人は以下を参考に開発者申請を行ってください。
TwitterAPIを利用するために必要な「Twitter開発者アカウント」(Twitter Developer Account)の取得方法や申請に通過しやすくなる申請文の書き方などを説明します。
記事を見るウェルカムメッセージを設定するためには以下の画像のようにアプリケーションの権限をRead + Write + Direct Messagesにする必要があります。
ライブラリのインストール
composer.jsonに以下の記述をします。
{ "require": { "abraham/twitteroauth": "3.1.0" } }
作成したcomposer.jsonと同じディレクトリで以下を実行します。
composer install
ウェルカムメッセージを使うためのコード
ウェルカムメッセージを実際に使用する場合はウェルカムメッセージの設定と反映の2つを実行する必要があります。
ここでは、設定、反映のソースコードはもちろん、一回で2つとも実行できるソースコードも紹介します。
ウェルカムメッセージを設定
<?php require "vendor/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; #コンシューマーキーなどを入力 $consumerKey = "ここにコンシューマーキーを入力"; $consumerSecret = "ここにコンシューマーシークレットを入力"; $accessToken = "ここにアクセストークンを入力"; $accessTokenSecret = "ここにアクセストークンシークレットを入力 "; $twitter = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret); $text = 'ここにメッセージを入力'; $data = [ 'welcome_message' => [ 'message_data' => [ 'text' => $text ] ] ]; $result = $twitter->post('direct_messages/welcome_messages/new', $data, true); print_r('ウェルカムメッセージID: '.$result->welcome_message->id); ?>
実行結果の例
ウェルカムメッセージID: 1399697206228045831
次に出てくるソースコード内の「ウェルカムメッセージID」とは、このIDのことです。
ここに載せているIDではなく、自分の環境で実行して出てきたIDです。
ウェルカムメッセージを反映
<?php require "vendor/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; #コンシューマーキーなどを入力 $consumerKey = "ここにコンシューマーキーを入力"; $consumerSecret = "ここにコンシューマーシークレットを入力"; $accessToken = "ここにアクセストークンを入力"; $accessTokenSecret = "ここにアクセストークンシークレットを入力 "; $wm_id = 'ここにウェルカムメッセージIDを入力'; $twitter = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret); $data = [ "welcome_message_rule" => [ "welcome_message_id" => $wm_id ] ]; $result = $twitter->post('direct_messages/welcome_messages/rules/new', $data, true); print_r($result); ?>
設定と反映を一回でやる
<?php require "vendor/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; #コンシューマーキーなどを入力 $consumerKey = "ここにコンシューマーキーを入力"; $consumerSecret = "ここにコンシューマーシークレットを入力"; $accessToken = "ここにアクセストークンを入力"; $accessTokenSecret = "ここにアクセストークンシークレットを入力 "; $twitter = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret); $text = 'ここにメッセージを入力'; $data = [ 'welcome_message' => [ 'message_data' => [ 'text' => $text ] ] ]; $result = $twitter->post('direct_messages/welcome_messages/new', $data, true); print_r('ウェルカムメッセージID: '.$result->welcome_message->id); $wm_id = $result->welcome_message->id; $data = [ "welcome_message_rule" => [ "welcome_message_id" => $wm_id ] ]; $result = $twitter->post('direct_messages/welcome_messages/rules/new', $data, true); print_r($result); ?>
以下を実行すると設定済みのウェルカムメッセージを確認できます。
<?php require "vendor/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; #コンシューマーキーなどを入力 $consumerKey = "ここにコンシューマーキーを入力"; $consumerSecret = "ここにコンシューマーシークレットを入力"; $accessToken = "ここにアクセストークンを入力"; $accessTokenSecret = "ここにアクセストークンシークレットを入力 "; $twitter = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret); $result = $twitter->get("direct_messages/welcome_messages/list"); print_r($result); ?>
実行結果の例
stdClass Object ( [welcome_messages] => Array ( [0] => stdClass Object ( [id] => 1401054777182625799 [created_timestamp] => 1622872463876 [message_data] => stdClass Object ...(以降も続く)
idのところにある数字がウェルカムメッセージIDです。次に説明するウェルカムメッセージの削除などではこれを使用します。
ウェルカムメッセージを削除するコードです。
<?php require "vendor/autoload.php"; use Abraham\TwitterOAuth\TwitterOAuth; #コンシューマーキーなどを入力 $consumerKey = "ここにコンシューマーキーを入力"; $consumerSecret = "ここにコンシューマーシークレットを入力"; $accessToken = "ここにアクセストークンを入力"; $accessTokenSecret = "ここにアクセストークンシークレットを入力 "; $twitter = new TwitterOAuth($consumerKey, $consumerSecret, $accessToken, $accessTokenSecret); $id = 'ここにウェルカムメッセージIDを入力'; $twitter->delete("direct_messages/welcome_messages/destroy",["id" => $id]); ?>
PHPでTwitterAPIを利用してウェルカムメッセージを設定する方法について解説しました。皆様のお役に立てれば幸いです。