1年前の自分と暮らす で紹介した retrobot という twitter bot ツールについてですが、記事を読んだ何人かの方が retrobot を運用してくださっているようです。ありがとうございます。
その後、ユーザの皆様からご要望を受けていくつかの改善を行いましたので、今回はその紹介です。
主なバージョンアップ内容
v0.2.0
@sora_h さんによって大幅なリファクタリングが行われました。
- gem 化されました。
- いままでは .env による環境変数やコマンドライン引数で挙動を制御していましたが、 YAML 形式の設定ファイルで指定するようになりました。詳細は後述します。
Revolution (gemify, add config yml) by sorah · Pull Request #5 · mirakui/retrobot
v0.2.1-v0.3.1
retweet オプション
リツイート機能がオプションになり、デフォルトではリツイートしなくなりました。(retweet
オプション)
add_in_reply_to_url オプション
retrobot は元ツイートがメンションだった場合に @
を外して相手に通知が飛ばないようにしています。これによって1年前のどんなツイートに対しての返信だったのかが分からないという問題がありました。 v0.3.0 では、返信先のURLをツイートの末尾につけられるオプションを追加しました(add_in_reply_to_url
オプション)。これを有効にすれば、1年前の文脈を思い出すことができます。
@sora_h 名作情報お待ちしております
— Issei Naruta (@mirakui) 2013, 6月 17
↓1年後
sora_h 名作情報お待ちしております https://t.co/vG3nlSKSKd
— mirakui_retro (@mirakui_retro) 2014, 6月 17
なお、このオプションのアイディアおよび実装は @studio3104 さんによるものです。
Add in reply to URL to tweet text by studio3104 · Pull Request #7 · mirakui/retrobot
suppress_pattern オプション
ツイートもしくはリツイートする文字列が suppress_pattern
オプションで指定した正規表現にマッチした場合、ツイートおよびリツイートをしないようになりました。
この正規表現は、 @
を取り除く前の文字列に対してマッチします。そのため、たとえば以下のように指定すると、元ツイートがメンションだった場合にツイートしないという挙動になります。
suppress_pattern: '@\w+'
設定ファイル
デフォルトの設定ファイルは retrobot.example.yml
としてリポジトリに含まれています。これを retrobot.yml
という名前にコピーすると、起動時に読み込まれます。
https://github.com/mirakui/retrobot/blob/master/retrobot.example.yml
v0.3.1 時点でのデフォルト設定は以下のとおりです。
tweets_csv: tweets/tweets.csv consumer_key: your_consumer_key consumer_secret: your_consumer_secret access_token: your_access_token access_secret: your_access_secret retro_days: 365 retweet: false debug: false dryrun: false add_in_reply_to_url: false suppress_pattern: nil
おわりに
返信がおそくなるかもしれませんが、ご要望や pull request には目を通しております。今後もお気軽にご意見等をいただければと思います。