#概要
色々あって友達とTwitterでやり取りをしていたら真のおっぱいツイートふぁぼマンになった。
ずっとTwitterで自動化したいと思っていたこともあったので練習がてら、その人のツイートに「おっぱい」が含まれていたらいいねをするツールを作ろうと思った。
どちらかというと初めてTwitterAPIを叩いたよっていう個人的なメモ。
#準備
##アプリケーション登録
Consumer Key
Consumer Secret
Access Token
Access Token Secret
を発行するためにTwitter Application Managementにアクセスして必要事項を入力する。
最初はAccess TokenとAccess Token Secretが発行されていないので、Keys and Access Tokensの下部にあるCreate my access tokenボタンをクリックして、生成する必要がある。
詳しくはググって。
##ライブラリのインストール
自分はtwitterを使った。
https://github.com/sixohsix/twitter
pip install twitter
#プログラムを書く
参考にしたサイト
Pythonでみんなの呟きを解析して自動でツイートするTwitter Botを作った話
というかここのコードをそのm(ry
Twitter REST APIの使い方
###プログラム
# -*- coding: utf-8 -*-
from twitter import *
# キーとアクセストークンを設定する
auth = OAuth(consumer_key="***************************",
consumer_secret="*******************************",
token="***************************",
token_secret="***************************")
t = Twitter(auth=auth)
# UserStreamを取得
t_userstream = TwitterStream(auth=auth, domain='userstream.twitter.com')
# @aokani_3の"おっぱい"を含むツイートを検索(リプライ, RTを除く)してふぁぼする関数
def like():
tweet = msg['text']
tweet_id = msg['id']
screen_name = msg['user']['screen_name']
if "aokani_3" in screen_name and "おっぱい" in tweet and "RT" not in tweet and "@" not in tweet:
id = int(tweet_id)
print('ツイート発見')
t.favorites.create(_id=id, include_entitles="true")
print('いいね完了')
# 実際にここが動く
print('start')
for msg in t_userstream.user():
print('rooding')
if 'text' in msg:
like()
JSONで返ってくるので必要な値(msg['text']
ツイート文、msg['id']
Tweet ID、msg['user']['screen_name']
ユーザ名(スクリーンネーム))を取り出す。
Tweet Object(ツイートオブジェクト)の説明を見ながら書いた。
if文で判定。
t.favorites.create(_id=id, include_entitles="true")
でそのツイートをいいねする。
POST favorites/create - いいねを付けるを見た。
あとはfor文で回すだけ。
#結論
結論というほどでもないけど……
とりあえず、UserStreamが廃止されるのを知ったのでそこを変えるのを考えないといけない。