ワタナベ書店

読んだ本の感想とか美味しかったお店の紹介とかLinuxの知見とか好きなことを好きなだけ書くブログです。

Twitterのタイムラインを正規表現エゴサして、webhookを叩き、スマホに通知を飛ばすアプリとそれを運用するdockerコンテナ作った。

github.com

昔書いたTwitterエゴサスクリプトがstream廃止とともにお亡くなりになったので書き直した。
15回/15分制限なので、1秒サービスして61秒ごとにタイムラインを取得して検索しています。
もし、Twitterのタイムラインを全部DBに流し込むプログラムや、スマホに通知じゃねえ。おれはslackにTwitterを流し込むプログラム作りたいのやーと思ったら、ここの記述とその先の関数を良い感じに変更すればいけます。

使い方

  1. apps.twitter.comからConsumer Key / Consumer Secret / Access Token / Access Token Secret を取得
  2. IFTTTのアカウントを作り、スマホにアプリをインストールして、webhookとnotification(Send a rich notification from the IFTTT appの方です)をつなげる。
  3. docker実行環境のあるとこで下記のように実行
# docker pull senyoltw/twitter_egosearch
# docker run \
-e keyword="エゴサしたい単語|正規表現も大丈夫|egosearchWords" \
-e webhook_url='webhookのURL' \
-e twitter_consumer_key='取得したやつ' \
-e twitter_consumer_secret='取得したやつ' \
-e twitter_access_token_key='取得したやつ' \
-e twitter_access_token_secret='取得したやつ' \
-d --restart=always \
docker.io/senyoltw/twitter_egosearch

dockerホスティングサービスでの実行

特に変なことはしてないので、dockerホスティングサービスでも実行可能です。ただ、この世に存在しておるだいたいのホスティングサービスは起動時間で課金するので、いつの間にかお金がひどいことにってなる可能性もあるので注意してください。

なお、時間課金制ではないdockerホスティングサービスのarukas無料プランにも動作可能なので、ここで動かしても良いかもしれません(Portは80のudpとかにしておきましょう。tcpだとヘルスチェックが入ってしまいます)

arukas.io

ということで、よろしくおねがいします。

以前のstream版の記事

もう殺されましたが参考までに senyoltw.hatenablog.jp