この記事では、PythonでTwitterAPIを利用してウェルカムメッセージを設定する方法を説明します。
PHPでウェルカムメッセージを設定する方法も公開しています。
「プログラミングとかめんどいからウェルカムメッセージだけ使いたい」という人は私がツールを公開していますのでそちらをぜひご利用ください。
Twitterにはダイレクトメッセージがありますが、実はその中に通常のTwitterのサイトやアプリでは利用できない隠し機能が存在します。それがウェルカムメッセージです。
ウェルカムメッセージとは、DMが新規に開かれたときに、開いた人に対して事前に設定したメッセージを送信できる機能です。
ウェルカムメッセージはTwitterAPIを利用して設定することができます。
この記事ではPythonを使ってプログラムを書いていきます。
TwitterAPIを利用するためには開発者登録が必要です。
まだ開発者登録をしていない人は以下を参考に開発者申請を行ってください。
TwitterAPIを利用するために必要な「Twitter開発者アカウント」(Twitter Developer Account)の取得方法や申請に通過しやすくなる申請文の書き方などを説明します。
記事を見るウェルカムメッセージを設定するためには以下の画像のようにアプリケーションの権限をRead + Write + Direct Messagesにする必要があります。
ライブラリのインストール
pip install requests_oauthlib
コマンドが存在しないと言われた場合
py -m pip install requests_oauthlib
ウェルカムメッセージを使うためのコード
ウェルカムメッセージを実際に使用する場合はウェルカムメッセージの設定と反映の2つを実行する必要があります。
ここでは、設定、反映のソースコードはもちろん、一回で2つとも実行できるソースコードも紹介します。
ウェルカムメッセージを設定
import json from requests_oauthlib import OAuth1Session # コンシューマーキーなどをいれてください CK = "ここにコンシューマーキーを入力" CS = "ここにコンシューマーシークレットを入力" AT = "ここにアクセストークンを入力" ATS = "ここにアクセストークンシークレットを入力" text = 'ここにメッセージを入力' twitter = OAuth1Session(CK, CS, AT, ATS) url = 'https://api.twitter.com/1.1/direct_messages/welcome_messages/new.json' payload = { "welcome_message" : { "message_data": { "text": text, } } } payload = json.dumps(payload) res = twitter.post(url, data=payload) data = json.loads(res.text) print('ウェルカムメッセージID:',data['welcome_message']['id'])
実行結果の例
ウェルカムメッセージID: 1399697206228045831
次に出てくるソースコード内の「ウェルカムメッセージID」とは、このIDのことです。
ここに載せているIDではなく、自分の環境で実行して出てきたIDです。
ウェルカムメッセージを反映
import json from requests_oauthlib import OAuth1Session # コンシューマーキーなどをいれてください CK = "ここにコンシューマーキーを入力" CS = "ここにコンシューマーシークレットを入力" AT = "ここにアクセストークンを入力" ATS = "ここにアクセストークンシークレットを入力" id = 'ここにウェルカムメッセージIDを入力' twitter = OAuth1Session(CK, CS, AT, ATS url = 'https://api.twitter.com/1.1/direct_messages/welcome_messages/rules/new.json' payload = { "welcome_message_rule": { "welcome_message_id": id } } payload = json.dumps(payload) res = twitter.post(url, data=payload) data = json.loads(res.text) print(data)
設定と反映を一回でやる
import json from requests_oauthlib import OAuth1Session # コンシューマーキーなどをいれてください CK = "ここにコンシューマーキーを入力" CS = "ここにコンシューマーシークレットを入力" AT = "ここにアクセストークンを入力" ATS = "ここにアクセストークンシークレットを入力" text = 'ここにメッセージを入力' twitter = OAuth1Session(CK, CS, AT, ATS) url = 'https://api.twitter.com/1.1/direct_messages/welcome_messages/new.json' payload = { "welcome_message" : { "message_data": { "text": text, } } } payload = json.dumps(payload) res = twitter.post(url, data=payload) data = json.loads(res.text) print('ウェルカムメッセージID:',data['welcome_message']['id']) msgid = data['welcome_message']['id'] url = 'https://api.twitter.com/1.1/direct_messages/welcome_messages/rules/new.json' payload ={ "welcome_message_rule": { "welcome_message_id": msgid } } payload = json.dumps(payload) res = twitter.post(url, data=payload) data = json.loads(res.text) print(data)
以下を実行すると設定済みのウェルカムメッセージを確認できます。
import json from requests_oauthlib import OAuth1Session # コンシューマーキーなどをいれてください CK = "ここにコンシューマーキーを入力" CS = "ここにコンシューマーシークレットを入力" AT = "ここにアクセストークンを入力" ATS = "ここにアクセストークンシークレットを入力" twitter = OAuth1Session(CK, CS, AT, ATS) url = 'https://api.twitter.com/1.1/direct_messages/welcome_messages/list.json' res = twitter.get(url) data = json.loads(res.text) print(data)
実行結果の例
{'welcome_messages': [{'id': '1399672018715365385', 'created_timestamp': '1622542788567', 'message_data': {'text': 'Hello!', 'entities': ...(以降も続く)
idのところにある数字がウェルカムメッセージIDです。次に説明するウェルカムメッセージの削除などではこれを使用します。
ウェルカムメッセージを削除するコードです。
import json from requests_oauthlib import OAuth1Session # コンシューマーキーなどをいれてください CK = "ここにコンシューマーキーを入力" CS = "ここにコンシューマーシークレットを入力" AT = "ここにアクセストークンを入力" ATS = "ここにアクセストークンシークレットを入力" twitter = OAuth1Session(CK, CS, AT, ATS) id = 'ここにウェルカムメッセージIDを入力' url = 'https://api.twitter.com/1.1/direct_messages/welcome_messages/destroy.json?id='+id res = twitter.delete(url)
PythonでTwitterAPIを利用してウェルカムメッセージを設定する方法について解説しました。皆様のお役に立てれば幸いです。