これ
#地方競馬
— ウマ娘産駒bot (@umakanrenbot) 2024年12月15日
ウマ娘別関連馬出走情報#ネオユニヴァース#バブルガムフェロー#フジキセキ#フリオーソ pic.twitter.com/fcXSN3Z1IQ
ウマ娘は本当に素晴らしい。プログラミングの楽しさについて教えてくれた。
なんで作ったか
元々アニメ見てからゲームでウマ娘というか競馬入ったけど、グラスワンダーっていうキャラクターがツボに入りすぎて、子孫で買いたいと思ったから。
全然関係ないけど、昔から大和撫子なキャラクター好きで、ダ・カーポでは胡ノ宮環だった。 dic.pixiv.net
フェーズ1
Twitter APIがまともに使えた時代は以下の感じで文字で出してた。
- 日付変わると同時に全レース出力
- レース30分前に出力
#レース30分前
— ウマ娘産駒bot (@umakanrenbot) 2023年7月12日
園田 6R C3一
1 インノータイム 牡(メジロマックイーン:父母父)
2 メイショウバイラン 牝(フジキセキ:父父)
5 アモールファティ 牝(エアグルーヴ:父母)
7 ラボンバ 牡(コパノリッキー:父)
9 スーパースターマン 牡(マルゼンスキー:父母父母父)https://t.co/bNpFysxMiF
atコマンドでやってたから本当にカスコードだった
for i in jobList: jobStr = "" jobStr += "#レース30分前\n" + i[1] + " " + \ i[2] + " " + i[5] + "\n\n" + i[6] url = i[7] jobStr = nonVarStr(jobStr, url, envName) jobFileName = f'./jobs/{i[8]}' execTime = i[4].strftime('%H:%M') shellStr = shellCreate(f'{i[8]}.py') with open(f'{jobFileName}.py', mode='w') as f: f.write(jobStr) with open(f'{jobFileName}.sh', mode='w') as f: f.write(shellStr) print([execTime, jobFileName]) # chmod subprocess.run(['chmod', '755', f'{jobFileName}.sh']) subprocess.run(['at', execTime, '-f', f'{jobFileName}.sh'])
イーロン・ショック
この辺が詳しいけど、1日50ツイートもできなくなった。今はもっとできない。
技術的に何ができるかはこのタイミングでZennまとめた記憶がある。
フェーズ2
画像で出すようにした。
グラフ絵画で有名なmatplotlibだけど、表を出す機能がある。これを使用し、グラフ出力をOFFにして出力してる。
import matplotlib.pyplot as plt plt.rcParams['font.family'] = 'IPAexGothic' # 日本語はフォントを指定しないと化けて表示される
調べてたらもっとオシャレにできるpytableというのがあるのでやる気が出たら移行しようと思う。 qiita.com
フェーズ3
Twitterといかいう媒体が信頼できなくなったので、APIが使えるBookersさんに日次で出すようにした。
フェーズ4
ナウなヤングにも見てもらえるようにインスタにも対応した TikTokとかもやろうとしたけど動画オート生成が思いのほかめんどくさそうだったので諦めた。
よかったこと
ウマ娘のオタクの皆さんは優しい。Bookersさんで投げ銭とかくれる。ありがとうありがとう。
おまけ
競馬もいいけど競輪もいいよ!!!!
リンカイ!
萌え競輪アニメ
佐世保競輪
青森競輪
あおいもりんちゃんが有名な青森競輪