zhenxun_bot/basic_plugins/shop/gold.py

53 lines
1.7 KiB
Python
Raw Normal View History

2021-06-15 10:57:08 +08:00
from nonebot import on_command
from nonebot.adapters.cqhttp import Bot, GroupMessageEvent
from nonebot.typing import T_State
from nonebot.adapters.cqhttp.permission import GROUP
2021-06-30 19:50:55 +08:00
from utils.data_utils import init_rank
2021-06-15 10:57:08 +08:00
from models.bag_user import BagUser
2021-11-04 16:11:50 +08:00
from utils.message_builder import image
from utils.utils import get_message_text, is_number
2021-06-15 10:57:08 +08:00
2021-10-03 14:24:07 +08:00
__zx_plugin_name__ = "商店 - 我的金币"
__plugin_usage__ = """
usage
我的金币
指令
我的金币
""".strip()
__plugin_des__ = "商店 - 我的金币"
__plugin_cmd__ = ["我的金币"]
2021-11-04 16:11:50 +08:00
__plugin_type__ = ("商店",)
2021-10-03 14:24:07 +08:00
__plugin_version__ = 0.1
__plugin_author__ = "HibiKier"
__plugin_settings__ = {
"level": 5,
"default_status": True,
"limit_superuser": False,
"cmd": ["商店", "我的金币"],
}
2021-06-15 10:57:08 +08:00
my_gold = on_command("我的金币", priority=5, block=True, permission=GROUP)
2021-07-30 21:21:51 +08:00
gold_rank = on_command("金币排行", priority=5, block=True, permission=GROUP)
2021-06-15 10:57:08 +08:00
@my_gold.handle()
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
2022-01-16 14:52:50 +08:00
await my_gold.finish(await BagUser.get_user_total_gold(event.user_id, event.group_id))
2021-06-15 10:57:08 +08:00
@gold_rank.handle()
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
2021-11-04 16:11:50 +08:00
num = get_message_text(event.json())
if is_number(num) and 51 > int(num) > 10:
num = int(num)
else:
num = 10
2021-07-30 21:21:51 +08:00
all_users = await BagUser.get_all_users(event.group_id)
2021-08-04 15:19:45 +08:00
all_user_id = [user.user_qq for user in all_users]
2021-07-30 21:21:51 +08:00
all_user_data = [user.gold for user in all_users]
2021-11-04 16:11:50 +08:00
rank_image = await init_rank("金币排行", all_user_id, all_user_data, event.group_id, num)
if rank_image:
await gold_rank.finish(image(b64=rank_image.pic2bs4()))