🍖

日本円ハッカソンで「イ反社にカツ!Ranker」を作ってJPYCをもらった件について

2022/06/13に公開

はじめに

こんにちは!「名前は考え中」です.現在は「名前は考え中」というハンネでやっておりますが,いい感じの名前を募集しております!
さて,先日,「日本円ハッカソン」というものに参加しました.
↓これ
https://prtimes.jp/main/html/rd/p/000000015.000091146.html
そこで,
「イ反社にカツ!Ranker」というTwitterのBotを作成して,セカンドグラント3.5万JPYCをいただくことができました!!🎉🎉🎉
https://twitter.com/ihansyanikatsu
この記事は「イ反社にカツ!Ranker」についての解説記事になります.
よろしくお願いいたします.

※おまけ
「日本円ハッカソン」のお楽しみ企画のアイデアソンにも参加し,コミュニティ賞5万JPYCをいただきました.
こちらもよかったらぜひ御覧ください!
https://www.youtube.com/watch?v=u4cSrrjgFnM&t=411s

「イ反社にカツ!Ranker」とは?


「イ反社にカツ!Ranker」は時報系のTwitterのBotです.
もう少し詳しく説明すると,
①当BotをフォローしPM11:29を狙って「イ反社にカツ!」とツイートする
②一番11:29に近い人が優勝(ただし,11:29よりもちょっとでも前,つまり11:28代は失格になります)
という簡単なゲームができます.
こういった時報系のBotはたくさんTwitterに存在するのですが,このBotの特徴はなんと優勝するとJPYCが賞金としてもらえることです!
詳しいコンテンツ説明は下記のスライドを見てください.
https://docs.google.com/presentation/d/12MCu-A0suSM5uLbGJe61lTHB4FAm9lPFXeLLXy0hxZM/edit?usp=sharing

※イ反社にカツ!はJPYC株式会社の岡部さんが提唱する「イノベーション阻害反社会組織に勝つ!」のことです.

どういう風にうごいているの?

一応技術解説記事なので,技術関連についても書きます.
実行は以下のように行っております.

①11:28にSchedulerが起動し,Botも動き始める.このタイミングで観測開始のツイートを流す.
②2分間スリープ
③11:30にランキングを取得し,結果を画像で流す.さらに優勝者のリツイートと引用RTでTipJPYC
を呼び出す.
TipJPYCについて
https://mobile.twitter.com/tipjpyc
https://note.com/tipjpyc/n/nbc48a7a0a84e
④TipJPYCは優勝賞金のJPYCを優勝者に送る.
⑤11:37までの間,「イ反社にカツ!Ranker」は起動し続け,フォロワーの「@ihansyanikatsu」のメンションに応答し,個人の計測結果を返す.

苦労した点とコツ

・Flutterでスマホアプリは作ったことあるが,TwitterのBot作成は初めてでかなり難航した.
・GCPが非常にややこしい.
・GCPを用いた定期実行の記事はネット上にあるがGUIのものが多い.プログラムサイズが大きいとターミナルからGCPじゃないと設定できないので注意.(ここにハマって,ずっとGUIを見ていた)
・GCPのプログラムはmain.pyで動かないので注意(ファイル名が違うのをメインのファイルとしていたために,ハマって時間を溶かした)
・GCPで画像ファイルを一時的に取り扱うには,「tmp」という一時ディレクトリが使える.(画像ファイルの取り扱いにもハマった)
・ツイートがされた時間であるcreated_atは日本時間でないことに注意.プラス9時間するのを忘れないように.(ここもハマった)
・GCPが起動する時間はデフォルトで60sで,それを超えると勝手にプログラムが切れる.設定をいじると最大540sまで動き続ける.
・Twitter上にあるたくさん時報系Botの動きを観察し,さらにGitHubで時報系Botを探して参考にするとよい.

最後に

日本円ハッカソンの運営さん,JPYC株式会社さん,ならびに本ハッカソンの関係者の方々,
特にJPYC株式会社の荒巻さんの質問対応としゃろほーの運営者さんのコードには非常に助けられました.
本当にありがとうございました!

PS

クリプトのハッカソンで入賞すると海外の投資家さんから連絡くるらしいです.

私も来るかなあと思ってたら,来ませんでした...
まあ,ただのTwitterのBotでクリプトっぽいコードは1つも書いていませんですしね.次はブロックチェーン技術部分のコードも書けるようにしてハッカソンに出たいと思います.
みなさん頑張っていきましょう!

Discussion