Apricot-S / majsoulrpa

A Robotic Process Automation (RPA) framework for Mahjong Soul (雀魂)
Other
21 stars 5 forks source link

`HomePresentation.join_room` で指定した部屋への join が失敗した原因を識別したい #118

Closed Cryolite closed 9 months ago

Cryolite commented 9 months ago

HomePresentation.join_room の戻り値の型は bool ですが,これだと False が返ってきたときに

のどれが原因で部屋への join が失敗したかが分からないです.上記3つはゲーム画面上のエラーメッセージとしては区別されているため, API を調べれば区別できる可能性が高いと思います(要調査).これが区別できるように join_room を拡張してほしいです.

Apricot-S commented 9 months ago

まずメソッドの戻り値はどれがよいと思いますか?

例外については画面に出ているのと同じエラーコードが APIで返ってきていると思われます

Cryolite commented 9 months ago

まずメソッドの戻り値はどれがよいと思いますか?

入室失敗は通常の操作・結果の範囲内なので例外を投げるべきではないと思います.その上で bool だと例外を投げない以上,入室失敗の原因の識別ができないので bool は除外.残るは Enumint ですが,個人的な好みは Enum です.ただの整数値よりも名前の付いた値のほうがコードの意図が明確になるので.

Apricot-S commented 9 months ago

https://github.com/Apricot-S/majsoulrpa/commit/22aa1da555f92de6d8bdc6fad3c5d331ab47e1c8 にて対応