2021-06-15 10:57:08 +08:00
|
|
|
|
from nonebot import on_command
|
2022-06-05 19:51:23 +08:00
|
|
|
|
from nonebot.adapters.onebot.v11 import GroupMessageEvent, Message, ActionFailed
|
2022-02-19 18:20:19 +08:00
|
|
|
|
from nonebot.params import CommandArg
|
|
|
|
|
|
from nonebot.adapters.onebot.v11.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
|
2022-06-05 19:51:23 +08:00
|
|
|
|
from utils.image_utils import text2image
|
2021-11-04 16:11:50 +08:00
|
|
|
|
from utils.message_builder import image
|
2022-02-19 18:20:19 +08:00
|
|
|
|
from utils.utils import 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()
|
2022-02-19 18:20:19 +08:00
|
|
|
|
async def _(event: GroupMessageEvent):
|
2022-06-05 19:51:23 +08:00
|
|
|
|
msg = await BagUser.get_user_total_gold(event.user_id, event.group_id)
|
|
|
|
|
|
try:
|
|
|
|
|
|
await my_gold.send(msg)
|
|
|
|
|
|
except ActionFailed:
|
|
|
|
|
|
await my_gold.send(image(b64=(await text2image(msg, color="#f9f6f2", padding=10)).pic2bs4()))
|
2021-06-15 10:57:08 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@gold_rank.handle()
|
2022-02-19 18:20:19 +08:00
|
|
|
|
async def _(event: GroupMessageEvent, arg: Message = CommandArg()):
|
|
|
|
|
|
num = arg.extract_plain_text().strip()
|
2021-11-04 16:11:50 +08:00
|
|
|
|
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()))
|