4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

真の‪ツイートふぁぼマンになったので自動化した

Posted at

#概要
色々あって友達と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の使い方
###プログラム

twibot.py
# -*- 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が廃止されるのを知ったのでそこを変えるのを考えないといけない。

4
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?