LoginSignup
5
8

More than 3 years have passed since last update.

Pythonista3を使ってTwitterのTLをiphoneに音読してもらう

Posted at

背景

仕事が終わって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さんの発音があまりよろしくないので、他に誰か探してみるとよいかも・・・

5
8
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
5
8