LoginSignup
2
2

More than 3 years have passed since last update.

GANMAの連載漫画「木曜日は君と泣きたい。」が更新されると音声で通知してくれるPythonスクリプトを書いた

Last updated at Posted at 2019-06-07

GANMAの連載漫画「木曜日は君と泣きたい。」が投稿される度にお知らせをしてくれる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)

#screen_nameには、工藤マコト先生のアカウント名(@抜き)を指定
status_list = api.user_timeline(screen_name="m0721804")
#データベースを使うほどの規模のものではないので、.txtを代わりに使用
with open("database.txt") as f:
    database_number = f.readline().strip()
    # database.txtの数値は最新の話数にしておいてください。
for i, status in enumerate(status_list):
    with open("database_nakitai.txt") as f:
        latest_number = f.readline().strip()
        # print(last_number)
        # last_number = "24"
        if "「木曜日は君と泣きたい。」" + database_number + "話" in status.text:
            print("新規掲載!")
# FF IVの「勝利のファンファーレ(fanfare.mp3)」が流れるようにしているが、
# 任意で好きなmp3ファイルにしてください。
            os.system("mpg123 -C  fanfare.mp3")
            latest_number = int(database_number) + 1
            with open("database_nakitai.txt", "w") as g:
                g.write(str(latest_number))
            break
    if database_number == str(latest_number):
        print("木曜日は君と泣きたい。" + str(latest_number) + "話は既読です。")
        break

現時点の最新話は24話なので、database.txt は24としておく。
database.txt
24

実行
ターミナル
python main.py

これで、cronか何かで自動実行するようにすれば、「木曜日は君と泣きたい。」がアップロードされる度に音でお知らせしてくれる。便利!!

まさかり待ってます!

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