公営競技が好き

公営競技とプログラミングのブログです

ウマ娘のbotを4年間運用している

これ

ウマ娘は本当に素晴らしい。プログラミングの楽しさについて教えてくれた。

なんで作ったか

元々アニメ見てからゲームでウマ娘というか競馬入ったけど、グラスワンダーっていうキャラクターがツボに入りすぎて、子孫で買いたいと思ったから。

umamusume.jp

全然関係ないけど、昔から大和撫子なキャラクター好きで、ダ・カーポでは胡ノ宮環だった。 dic.pixiv.net

フェーズ1

Twitter APIがまともに使えた時代は以下の感じで文字で出してた。

  • 日付変わると同時に全レース出力
  • レース30分前に出力

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ツイートもできなくなった。今はもっとできない。

gigazine.net

技術的に何ができるかはこのタイミングでZennまとめた記憶がある。

zenn.dev

フェーズ2

画像で出すようにした。

グラフ絵画で有名なmatplotlibだけど、表を出す機能がある。これを使用し、グラフ出力をOFFにして出力してる。

import matplotlib.pyplot as plt
plt.rcParams['font.family'] = 'IPAexGothic'  # 日本語はフォントを指定しないと化けて表示される

調べてたらもっとオシャレにできるpytableというのがあるのでやる気が出たら移行しようと思う。 qiita.com

フェーズ3

Twitterといかいう媒体が信頼できなくなったので、APIが使えるBookersさんに日次で出すようにした。

bookers.tech

フェーズ4

ナウなヤングにも見てもらえるようにインスタにも対応した TikTokとかもやろうとしたけど動画オート生成が思いのほかめんどくさそうだったので諦めた。

よかったこと

ウマ娘のオタクの皆さんは優しい。Bookersさんで投げ銭とかくれる。ありがとうありがとう。

おまけ

競馬もいいけど競輪もいいよ!!!!

リンカイ!

rinkai-pj.com

萌え競輪アニメ

佐世保競輪

www.sasebokeirin.jp

佐世保競輪の独自の萌えキャラクター

青森競輪

aomorikeirin.com

あおいもりんちゃんが有名な青森競輪