Twitter漫画「不器用な先輩。」が投稿される度にお知らせをしてくれるPythonスクリプトを作った。
工藤マコト先生の描く「不器用な先輩。」を毎回Twitter巡回で見つけるのが面倒なので、自動的にお知らせするようにしてみた。(2019年6月10日時点バージョン)
必要なもの
- Tweepy(Pipでインストール)
- mpg123(Homeberw、apt-getでインストール)
- TwitterのAPIに必要な情報
上記のインストールは他のウェブサイトの説明が優秀なので割愛。
当のコード
import os
import tweepy
os.chdir(os.path.dirname(__file__))
# 認証キーの設定 https://masatoshihanai.com/php-twitter-bot-01/ を見ながら取得してください
consumer_key = "自分のconsumer_key"
consumer_secret = "自分のcustomer_secret"
access_token = "自分のaccess_token"
access_token_secret = "自分のaccess_tocken_secret"
# OAuth認証
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
# APIのインスタンスを生成
api = tweepy.API(auth)
status_list = api.user_timeline(screen_name="m0721804")
#status_list = api.user_timeline(screen_name="Jikkenndesu")
with open("database.txt") as f:
database_number = f.readline().strip()
# Number in database.txt is latest number on Twitter
for i, status in enumerate(status_list):
with open("database.txt") as f:
latest_number = f.readline().strip()
#print(last_number)
#last_number = "15"
if "不器用な先輩。" + database_number in status.text:
print("新規掲載!")
os.system("mpg123 -C fanfare.mp3")
latest_number = int(database_number) + 1
with open("database.txt", "w") as g:
g.write(str(latest_number))
break
if database_number == str(latest_number):
print("不器用な先輩。" + str(latest_number) + "話は既読です。")
break
現時点の最新話は15話なので、database.txt は15としておく。
database.txt
15
実行
ターミナル
python main.py
これで、cronか何かで自動実行するようにすれば、「不器用な先輩。」がアップロードされる度に音でお知らせしてくれる。便利!!