読者です 読者をやめる 読者になる 読者になる

feather 公式アカウントの定期ツイートを簡単に管理するやつを作った

こんにちわ、山口です。 とても良いプロダクトを作ったので久しぶりにブログを書きます。

TL;DR

@feather_ios の定期ツイートの内容を github で管理するようにしたら捗った。

定期ツイート例

何を作ったの?

https://github.com/covelline/feather-tweets を作りました。

弊社アプリの feather の公式アカウントの @feather_ios の定期ツイートはこれを使っています。

このリポジトリは大きく以下の2つで構成されています。

  1. tweets ディレクトリ: 定期ツイートでつぶやきたい内容を入れておくディレクト
  2. index.js: tweets ディレクトリの中にあるどれか1つのディレクトリをランダムで選択し、その内容をツイートするスクリプト

index.js を実行するための環境は各自で用意する必要があります。 Jenkins や Heroku、その他自前のサーバーやローカルの環境などから実行可能です。 詳細は README.md をご覧ください。

なんで作ったの?

今までは Web サービスとして公開されている Twitterbot サービスを使って定期ツイートを行っていましたが、ツイートの管理が面倒になってやめました。

具体的には

  1. bot サービスにログインするのが面倒
  2. 文章のツイートしか登録できないため、画像付きツイートをするためには一度普通にツイートしてからその画像リンクを bot のツイートに埋め込むという大変面倒な作業が必要だった
    • 説明が面倒なぐらい面倒な作業...
  3. 上記理由により定期ツイートの管理が面倒になって誰もやらなくなった...

といった理由があります。

そういった背景があり、定期ツイートを簡単に管理するいい方法は無いかと色々なサービスを探してみたのですが、どれもしっくり来るものがありませんでした。

自分で作るのも面倒だったのですが、結構シンプルに作れそうだったので作ってみた結果できたのが https://github.com/covelline/feather-tweets です。

index.js の内容が全てなのですが 115行程度なのでめっちゃ簡単です。

何がいいの?

定期ツイートの管理は誰でも行えるぐらい簡単

tweets ディレクトリの中に適当にディレクトリを作ってその中にツイートの内容(文章や画像)を配置するだけでオッケーです。

この管理は非エンジニア(サポート部門の人、ただし git の基本的操作はできる)にやってもらっているのですが、そういった人でも簡単に管理できます。

凝って ツイートの内容を jsonyaml で独自フォーマットを作って管理するとかすると急に難易度が上がるので単純なテキストファイルと画像ファイルの組み合わせのみで管理できるように設計しています。

変更履歴が残る

今までは定期ツイートの変更履歴などは残っていない、もしくは別に管理する必要がありました。

今は github を使っているので全ての履歴が残ります。

誰でも変更できる

github に push して Pull Request を出す知識さえあれば変更できるので誰でもよしなに定期ツイートの内容を変更できます。

社外の方からの Pull Request もお待ちしております。

俺も使いたい

リポジトリを Fork して、リポジトリ名と tweets ディレクトリの中を変更すれば使えます。