花園たえRankerを復活させた話

花園たえRankerを復活させた話

TwitterBot
スポンサードリンク
スポンサードリンク

えっ

えっ

えっ

 

 

というわけで東工大山吹沙綾研究会さーやテックの中の人に頼まれて花園たえRankerを復活させました。

そもそも花園たえRankerとは

なんか毎日午前0時に「花園たえ」ってつぶやいた人の精度を競うRankerらしいです。

334ってあるじゃないですか334
あれの午前0時版だと思ってくれればいい感じだと思います。

 

【参考】

Sign in - Google Accounts

sites.google.com

 

ちなみに僕は存在は知ってますが参加したことはありませんでした。(過去形)

花園たえって…😩💭ダレヤ…

うごかしてみた

さーやテックの中の人に実行環境がととのってないとのことで(整備してもいいんですが割と急務とのことだったので)、自分のサーバにおいて毎日0:05に実行されるようにしました。

集計した結果は自分のアカウントを通して中の人にDMで送信される仕組みになっており、それを中の人がコピペして発表するって手順です。

 

記念すべき第1回(第287回)の結果はこちら(自分も初参加しました。)

00:00:00.538で6位…みんな強い…

 

無事に動いてくれてなにより。

しくみ解説

ソースコードです。(1時間15分で作った)

GitHub - nagatea/Something_Ranker: 毎日午前0時に行われるらしい何かを集計するBot

毎日午前0時に行われるらしい何かを集計するBot. Contribute to …
github.com

ソースコード読める人なら分かると思うんですけど、そんなに難しいことやってないです。

  1. 検索して「花園たえ」に一致するツイートを抜き出す
  2. ツイートIDから時間を算出する
  3. 23:59:00から00:04:59までのツイートを集計してランキングを付与する
  4. 結果を中の人にDMで送信する

って感じで作成しました。

解説するならツイートのミリ秒の判定のしかたでしょうか。

ツイートIDから正確なツイート時間を算出する

実はツイートID(ツイートのURLについてくるやつ)、ツイートされた正確な時間を保存しています

算出の仕方は、ツイートIDの下位22bitを落として、1288834974657を足すと、タイムスタンプ(単位ミリ秒)が生成されます。
それを1000で割るとミリ秒つきのツイート時間が分かるという感じです。

 

【参考】

ツイートIDからツイート時刻をミリ秒まで算出(ついでに時刻からツイートIDを作成) #Ruby - Qiita

#ツイートIDの算出TwitterのID算出には snowflake というツー…
qiita.com

自分は以前から334Rankerには参加していたので(寝ろ)、これを自分のbotに組み込んで遊んでました()

おしまい

何気に人に頼まれてものを作るのは初めてな気がします。

ちゃんと動いてくれてよかった~~~