mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
34 lines
1.3 KiB
Python
Executable File
34 lines
1.3 KiB
Python
Executable File
from typing import Optional
|
|
|
|
from utils.data_utils import init_rank
|
|
from utils.image_utils import BuildMat
|
|
|
|
from .model import RussianUser
|
|
|
|
|
|
async def rank(group_id: int, itype: str, num: int) -> Optional[BuildMat]:
|
|
all_users = await RussianUser.filter(group_id=group_id).all()
|
|
all_user_id = [user.user_id for user in all_users]
|
|
if itype == "win_rank":
|
|
rank_name = "胜场排行榜"
|
|
all_user_data = [user.win_count for user in all_users]
|
|
elif itype == "lose_rank":
|
|
rank_name = "败场排行榜"
|
|
all_user_data = [user.fail_count for user in all_users]
|
|
elif itype == "make_money":
|
|
rank_name = "赢取金币排行榜"
|
|
all_user_data = [user.make_money for user in all_users]
|
|
elif itype == "spend_money":
|
|
rank_name = "输掉金币排行榜"
|
|
all_user_data = [user.lose_money for user in all_users]
|
|
elif itype == "max_winning_streak":
|
|
rank_name = "最高连胜排行榜"
|
|
all_user_data = [user.max_winning_streak for user in all_users]
|
|
else:
|
|
rank_name = "最高连败排行榜"
|
|
all_user_data = [user.max_losing_streak for user in all_users]
|
|
rst = None
|
|
if all_users:
|
|
rst = await init_rank(rank_name, all_user_id, all_user_data, group_id, num)
|
|
return rst
|