LoginSignup
1
1

More than 3 years have passed since last update.

Twitter漫画「不器用な先輩。」が投稿される度にお知らせをしてくれるPythonスクリプトを作った

Last updated at Posted at 2019-06-04

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か何かで自動実行するようにすれば、「不器用な先輩。」がアップロードされる度に音でお知らせしてくれる。便利!!

まさかり待ってます!

1
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
1
1