foltiaの新番組の予約が面倒なので、新番組をアラートするメール送信スクリプトをつくった。

2018年1月23日

新番組のチェックダルい

foltiaでアニメを予約するのって面倒ですよね。あの新番組一覧ページを自分でいちいちチェックしにいかないといけないやつ。
しかもアニメ番組によってはなかなかページに反映されないこともあったり。これはfoltia側の問題ではなく連携しているしょぼいカレンダー側の問題なんでしょうけど。
特にアニメが終わるクールとアニメが開始するクールの間の時期はなかなか更新されない番組のせいで、頻繁にチェックせねばなりません。
それだったらまだいいんですけど、全然クールと関係ないタイミングでいきなり番組開始するやつ!気づくわけねーから。
ということでアニメの新番組が更新されたら自動でメールでお知らせするスクリプトを作りました。

使用感など

スクリプトの作りとしては、新アニメがfoltiaの「アニメ新番組」メニューに登録されたらお知らせする。。。のではなく、定期的にスクリプトを実行して、その時点でfoltiaのデータベースに新しい番組が登録されてればそいつをメールに乗っけて送信する仕組みになってます。
なので、早く知らせたければ毎日実行するように設定すればよいですし、一週間に1回教えてくれればええんやって場合はそういう設定でもいいと思います。
でも今までの感触的には、わりと番組開始直前のタイミングでしばしばfoltiaに新アニメが登録される感じでしたし、毎日通知させる設定でも問題ない気がします。

ざっくり解説


例えばfoltiaの「アニメ新番組」に載ってる新アニメリストがこんな状態だとします


で、通知メール。件名と本文は変更可。CSVファイルが添付されてます。


中身がこんな感じです。すべてのアニメを取ってきてます。
一応項目は一通りfoltiaの「アニメ新番組」に寄せました。ただ、再、注、新みたいなのはなくて、新アニメかどうかの項目だけ残してます。
ただ、この番組すべて通知したいと思う人は少ないはず。なぜなら、ここのリストには再放送の新番組も含まれてるから。
というわけで、純粋な新番組のみ取ってくる設定にした場合(□で新とかいてあるやつ)。


新番組のみ通知された状態。
また、受信可能局のみ表示するかどうかも、設定でかえられるようにしておきました。
なお、既に通知済みの番組は記憶してて、次回通知しないようになってます。
なので、通知のたびに大量のリストがメールで送り付けられる、ということはないはずです。

導入にあたって

前のエントリで紹介した、foltiaサーバーからメールを送れるようにする設定が必要です。※2017/11/12 postfixの起動設定がなかったので追記

導入方法

動作確認環境はfoltiaバージョン4.5.6 CentOS release 6.8 (Final)です。
新アニメメール通知スクリプト
上記をダウンロードして、env.shを編集します。

MAIL_ADDRESSには送る先のメールアドレスを、RECEIVING_FLG_LISTは放送可能局の設定で、基本的には1でいいと思います。
IS_ONLY_NEW_ANIMEはTRUEで新アニメのみ通知、FALSEで再放送含むやつ全部通知。
メールアドレスは必ず変更してください。
SUBJECTは件名変えたければ。

mail_template.txtはメールの本文内容なので、変えたければ変える。

smb等で\\foltiaのIPアドレス\nasenv.sh mail.sh mail_template.txt select_new_anime.sqlの4ファイルを置いておく。
foltiaサーバーにsshでログイン(要root)

作業ディレクトリ作りつつ潜る

さっきnasフォルダに入れといた4ファイルを作業フォルダに配置して

実行権限付与

今回、通知するメールの添付ファイルなどの作成に必要なMIME作成のためにpluginをお借りしましたので、それを使わせていただきます。(plugin作者様ありがとうございます。)

移動して、git cloneでダウンロードする。
/usr/local/bin/misc-toolsができてればOK

さっき作ったmailNewAnimeフォルダに入って、sh ./mail.shってやると、メール飛ぶはずです。

定期的に実行させるように設定

ここまでの作業が終わったら、次は配置したメール送信スクリプトを決まった時間に実行させたいので、cronに登録します。
crontab -e でエディタに入り、

みたいな感じで登録しておきます。毎日夜10時に実行させる設定。cronの書き方は検索すればどっかに詳しく載ってます。

感想

ひとまずシェルでざっと書いてみましたが、たぶんまだ改善の余地ありです。
まだ運用開始してアニメのクールの節目に突入したことが無いので何が起きるかわかりませんが、今のところちゃんと動いてます。

追記:
新アニメがカレンダーに登録されるタイミングで一度通知した番組が何度も通知される事案あり、が、メンテする気になれず、とりあえずそのまま。。。

PC関連

Posted by koko