👻

【ローモバ】討伐会集計用のDiscord botを作りました

2021/08/13に公開
5

メモです。

新バージョンをご確認ください。
https://zenn.dev/lm_mh/articles/665f511ff89fa5

成果物

https://github.com/ikarino/lm-bot/

討伐会でなくても、ギルドのノルマ確認にも使えます。
使ってみたい方はコメント等で連絡いただければ対応します。

バックグラウンド

Discord botのお勉強

Discord botは初めて触りましたが、お勉強にはこのシリーズが最強でした。
少しググっても日本語の情報はdiscord.pyv0.xの書き方ばかりです┐(´д`)┌ヤレヤレ

https://www.youtube.com/watch?v=nW8c7vT6Hl4&list=PLW3GfRiBCHOhfVoiDZpSz8SM_HybXRPzZ

構成

最終的にHerokuにホスティングしようと思って、いろいろ考え始めました。

OCR

スクショからOCRすることを考えると、tesseractHerokuで動かすのは重いかなと思い、APIを検討し始めました。
一番最初にヒットしたのがAzureのComputer Vision APIで、1年間無料、しかも$200だったかのクレジットまでついてくるということなので、試してみました。

ギフト調査のOCRはすべてtesseractでやってきたのですが、やっぱり有料サービスの精度はすごいですね。画像の前処理とか閾値設定とか、すんごい頑張ってたのが馬鹿に思えるくらい完璧にOCRしてくれました。

実際のコードは以下を参照下さい。
https://github.com/ikarino/lm-bot/blob/main/ocr.py

データベース

Herokuに置くとなると、データベースが必要になります。
即決で使い慣れているFirebase(Firestore)に決めました。
構成は本当に単純です。

- current   <= 現在のデータを保管するcollection
  * players <= 現在保管している参加者リスト
  * gifts   <= 現在保管しているギフトリスト
- 202108132001 <= 上記を丸々コピーして過去の討伐会情報として保管
  * players
  * gifts
- 202108202005
...

実際のコードは以下を参照下さい。
https://github.com/ikarino/lm-bot/blob/main/firestore.py

LHAの宣伝

魔獣討伐にものすごく力を入れている戦闘ギルドです!メンバー募集中です!

https://zenn.dev/lm_mh/articles/397b91af334187

Discussion

YUUUUUIYUUUUUI

こんばんは。
ぜひ使用してみたいのですがどのようにすればよろしいでしょうか?
ご確認をよろしくお願い致します。

ikarino99ikarino99

こんばんは!
私のDiscordアカウントです。よろしければこちらへご連絡下さい。
ikarino99#8114

YUUUUUIYUUUUUI

こんにちは!
今朝から不具合でDiscordに入れず、ご連絡できていなく申し訳ありません。
復旧次第、速やかにご連絡させていただきます。
よろしくお願い致します。(返信不要です)

SIGMASIGMA

導入してみたいのですがどのように使用したら良いでしょうかm(_ )m
discord申請しますのでご教授頂きたいですm(
_)m