White Box技術部

WEB開発のあれこれ(と何か)

【C100対応サークルチェッカー】Circle Checker2を作りました

以前にも紹介した、Twitterのユーザ名からイベント参加情報を抽出するツール「Circle Checker」ですが、ややあってRustで作り直しました。

以前の記事はこちらです

なので今回は新しく作ったCircle Checker2の使い方と、前バージョンとの違い、QAなどを書いていこうと思います。

Circle Checker(サークルチェッカー)とは?

そもそもCircle Checkerとはなんぞやという話ですが、俗に言う「同人イベントのサークルチェック」を行うためのCLIツールで、以下の機能を持っています。

  • Twitter名に特定の文字列が含まれているユーザを抽出する
  • タイムラインと自分の作成したリストの複数を同時にチェックすることができる

バージョン2では、更に以下のことができるようになっています。

  • 抽出結果を指定のフォーマット(TSVかCSV)でコンソールまたはファイルに出力する
  • 出力結果をヘッダーと一緒にGoogle Spreadsheetsに貼り付けることで、アイコンの画像が表示される

使い方

詳細な使い方は以下のREADMEを参照いただくとして、

初めて使うまでの流れは以下のようになります。

  1. GitHubからzipファイルをダウンロード
  2. Windowsならcircle-checker.batを実行、Macならコンソールからcircle-checkerを実行
  3. 利用したいTwitterアカウントでPIN認証
  4. 結果を確認

これでTwitterアカウントでフォローしているユーザが、ユーザ名でコミックマーケットC100へのイベント参加表明しているかがチェックできます。

ちなみに私のアカウントでWindowsから実行すると、現時点では以下のような結果が得られます。

2回目以降は2番の手順を実行するだけで、結果が出力されますので、良きタイミングで実行してみてください。

カスタマイズ

これだと「コミケにしか使えないのか」となってしまうのですが、config/filter.txtの内容を書き換えることで、任意のイベントに対応することができます。

例えば、今のfilter.txtの内容は以下のようになっていますが、

13日|14日|28日|29日|30日|31日
[[1-4]|1一2二3三4四]日目
[金土日月]曜日?
[\((][金土日月][\))]
[cCC]百
[cC]1\d\d|C1[0-9][0-9]
コミケ|コミケ
[夏冬]コミ
こみけ

これを

SSF\d?\d?|ssf\d?\d?

とすると、SHINY STAR FESTIV@L用としても使うことができます。

正規表現が難しければ、以下のように対象の文字列を1行ずつ列挙していただいても利用できます。

SSF05
ssf05
SSF
ssf

チェックしたいイベント名の文字列は、優先したい順に上から列挙してください。

以前との違い

大きな違いは、実行するためにJavaのインストールが不要になったところです。

大体のPCにJavaは入っている気もしているのですが、不要であるに越したことはないと思うので、この点には満足しています。

また、冒頭にも記載していますが、以下の機能が追加されています。

  • 抽出結果の出力フォーマットの指定機能(TSVかCSV
  • 抽出結果の出力先指定機能(コンソールまたはファイル)
  • Googleスプレッドシートに貼り付けることで、アイコン画像を表示

このスプレットシート貼付け機能がとても便利ですので、ぜひご活用ください。

手順は以下に記載しましたが、Windowsの場合はファイル出力の利用がおそらく必要ですので、気を付けてください。

実は以前は固定されたツイートの画像も表示できていたのですが、現在は対応が難しい状態になっています。無念。。。

貼り付けるとこのように表示できます。

あと細い違いとしては、

  • 設定ファイルの名前がconfig.tomlになった
  • 認証情報の保持ファイルがtokenになった

などがあります。特に設定ファイル名がconfig.tomlになったことにより、おそらく実行するアプリケーションを選択しないと開けないのでご注意ください。
実行するアプリケーションは任意のテキストエディタで問題ありません。

また、「タイムラインのチェック機能」と「複数リスト対応機能」は、以前のバージョンでも利用できた機能ですが、ブログでは未紹介になっていたことを併記しておきます。

使い方補足

あとは利用していて上がりそうな質問に回答しておきます。

Q1. 意図していないTwitterアカウントが認証時に表示された

一度Circle Checkerを終了いただいて、Twitterに意図したアカウントで入り直してください。
その後、もう一度Circle Checkerを実行してください。

プログラムの終了はWindowsならバツボタン、MacならCtrl+Cでできます。

Q2. 別のTwitterアカウントで利用したい(もしくは実行したらエラーになった)

プログラムのある場所にtokenというファイルが作成されていると思いますので、まずはこちらの削除をお願いします。 次に、利用したいTwitterのアカウントでTwitterにログインしてから、Circle Checkerを実行してください。

再度、Twitter認証の画面がブラウザに表示されますので、以前と同様にPIN認証をしていただければ、当該アカウントで実行されます。

まとめ

実はRustを使ってみたくて作り直したCircle Checker2でしたが、完成してリリースした日がコミケの当落発表日だったのは、タイミングが良すぎて笑いました。 C100参戦の方は活用してもらえると嬉しいです。

私はたぶんシャニマスのライブに行ってるので、今回のコミケには行く予定ないのですが

Rustについての話はまた別で上げれればなと思っていますので、そちらもよろしくお願いします。