背景
仕事が終わってTwitterのTLを見ようかと思っても、他にやりたいことが多くてTwitterを見る時間がとれないので、iPhoneが話してくれるのを聞くだけで済むようにした。
環境
iPhone8 13.2.3
Pythonista3 3.2
Tweepy 3.5.0
#準備
・Pythonista3のインストール
・Twitter APIの登録申請
(参考:PythonでTwitter API を利用していろいろ遊んでみる)
・StaShのインストール
(参考:Pythonista 3 にStaSh をインストールする。)
・Tweepyのインストール
#ファイル構成
今回私は以下のようなファイル構成にした。
├─twitterconfig.py #認証情報を管理
├─sp_timeline.py #実際に動かすコード
└
#コード
sp_timeline.py
#!Pythonista3
#自分のTLをiphoneに読んでもらうプログラム
import time, speech, twitterconfig
from twitterconfig import api
shu_kai = 0
maxid = None
while True:
home_tweet = api.home_timeline(max_id=maxid)
#2周目で1周目の最後と2周目の初めのツイートが重ならないようにする処置
if maxid != None:
home_tweet = home_tweet[1:]
for tweet in home_tweet:
print('__________________________________________')
#ツイート主の表示
print(tweet.user.name + '(@' + tweet.user.screen_name +')')
#ツイート文の表示
print(tweet.text)
#リンクは音読させない
if 'https' in tweet.text:
https_ofset = tweet.text.find('https')
tweet.text = tweet.text[:https_ofset]
speech.say(tweet.text, 'ja-JP', 0.5)
time.sleep(15)
shu_kai += 1
shu_kai_text = str(shu_kai) + '周目終了'
print('--------------',shu_kai_text,'--------------')
#maxidを最後のtweet.idにして、次はこれより古いtimelineを持ってくるようにする。
maxid = tweet.id
time.sleep(60)
#結果
他に作業しながらTLを聞くことができるので、私のようなTwitter依存者には何かの役に立つかもしれません。
けれど、iPhoneさんの発音があまりよろしくないので、他に誰か探してみるとよいかも・・・