mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-03 02:30:01 +08:00
refactor code
This commit is contained in:
@@ -7,28 +7,34 @@ from nonebot.permission import SUPERUSER
|
||||
import random
|
||||
from nonebot.plugin import MatcherGroup
|
||||
import re
|
||||
from .open_cases_c import open_case, total_open_statistics, group_statistics, my_knifes_name, open_shilian_case
|
||||
from .open_cases_c import (
|
||||
open_case,
|
||||
total_open_statistics,
|
||||
group_statistics,
|
||||
my_knifes_name,
|
||||
open_shilian_case,
|
||||
)
|
||||
from .utils import util_get_buff_price, util_get_buff_img, update_count_daily
|
||||
|
||||
__plugin_name__ = '开箱'
|
||||
__plugin_name__ = "开箱"
|
||||
__plugin_usage__ = (
|
||||
'用法:\n'
|
||||
'看看你的人品罢了\n'
|
||||
'目前只支持\n\t'
|
||||
'1.狂牙大行动武器箱\n\t'
|
||||
'2.突围大行动武器箱\n\t'
|
||||
'3.命悬一线武器箱\n\t'
|
||||
'4.裂空武器箱\n\t'
|
||||
'5.光谱武器箱\n'
|
||||
'示例:小真寻开箱 突围大行动(不输入指定武器箱则随机)\n'
|
||||
'示例:我的开箱(开箱统计)\n'
|
||||
'示例:群开箱统计\n'
|
||||
'示例:我的金色'
|
||||
"用法:\n"
|
||||
"看看你的人品罢了\n"
|
||||
"目前只支持\n\t"
|
||||
"1.狂牙大行动武器箱\n\t"
|
||||
"2.突围大行动武器箱\n\t"
|
||||
"3.命悬一线武器箱\n\t"
|
||||
"4.裂空武器箱\n\t"
|
||||
"5.光谱武器箱\n"
|
||||
"示例:小真寻开箱 突围大行动(不输入指定武器箱则随机)\n"
|
||||
"示例:我的开箱(开箱统计)\n"
|
||||
"示例:群开箱统计\n"
|
||||
"示例:我的金色"
|
||||
)
|
||||
|
||||
_flmt = FreqLimiter(3)
|
||||
|
||||
cases_name = ['狂牙大行动', '突围大行动', '命悬一线', '裂空', '光谱']
|
||||
cases_name = ["狂牙大行动", "突围大行动", "命悬一线", "裂空", "光谱"]
|
||||
|
||||
cases_matcher_group = MatcherGroup(priority=5, permission=GROUP, block=True)
|
||||
|
||||
@@ -38,20 +44,24 @@ k_open_case = cases_matcher_group.on_command("开箱")
|
||||
|
||||
@k_open_case.handle()
|
||||
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
||||
if str(event.get_message()).strip() in ['帮助']:
|
||||
if str(event.get_message()).strip() in ["帮助"]:
|
||||
await k_open_case.finish(__plugin_usage__)
|
||||
if not _flmt.check(event.user_id):
|
||||
await k_open_case.finish('着什么急啊,慢慢来!', at_sender=True)
|
||||
await k_open_case.finish("着什么急啊,慢慢来!", at_sender=True)
|
||||
_flmt.start_cd(event.user_id)
|
||||
case_name = get_message_text(event.json())
|
||||
if case_name:
|
||||
result = await open_case(event.user_id, event.group_id, case_name)
|
||||
else:
|
||||
result = await open_case(event.user_id, event.group_id, random.choice(cases_name))
|
||||
result = await open_case(
|
||||
event.user_id, event.group_id, random.choice(cases_name)
|
||||
)
|
||||
await k_open_case.finish(result, at_sender=True)
|
||||
|
||||
|
||||
total_case_data = cases_matcher_group.on_command("我的开箱", aliases={'开箱统计', '开箱查询', '查询开箱'})
|
||||
total_case_data = cases_matcher_group.on_command(
|
||||
"我的开箱", aliases={"开箱统计", "开箱查询", "查询开箱"}
|
||||
)
|
||||
|
||||
|
||||
@total_case_data.handle()
|
||||
@@ -75,7 +85,9 @@ my_kinfes = on_command("我的金色", priority=1, permission=GROUP, block=True)
|
||||
|
||||
@my_kinfes.handle()
|
||||
async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
||||
await my_kinfes.finish(await my_knifes_name(event.user_id, event.group_id), at_sender=True)
|
||||
await my_kinfes.finish(
|
||||
await my_knifes_name(event.user_id, event.group_id), at_sender=True
|
||||
)
|
||||
|
||||
|
||||
open_shilian = cases_matcher_group.on_regex(".*连开箱")
|
||||
@@ -87,7 +99,7 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
||||
# await k_open_case.finish('着什么急啊,慢慢来!', at_sender=True)
|
||||
_flmt.start_cd(event.user_id)
|
||||
msg = get_message_text(event.json())
|
||||
rs = re.search(r'(.*)连开箱(.*)', msg)
|
||||
rs = re.search(r"(.*)连开箱(.*)", msg)
|
||||
if rs:
|
||||
num = rs.group(1).strip()
|
||||
if is_number(num) or num_dict.get(num):
|
||||
@@ -96,61 +108,53 @@ async def _(bot: Bot, event: GroupMessageEvent, state: T_State):
|
||||
except KeyError:
|
||||
num = int(num)
|
||||
if num > 30:
|
||||
await open_shilian.finish('开箱次数不要超过30啊笨蛋!', at_sender=True)
|
||||
await open_shilian.finish("开箱次数不要超过30啊笨蛋!", at_sender=True)
|
||||
else:
|
||||
await open_shilian.finish('必须要是数字切不要超过30啊笨蛋!中文也可!', at_sender=True)
|
||||
await open_shilian.finish("必须要是数字切不要超过30啊笨蛋!中文也可!", at_sender=True)
|
||||
case_name = rs.group(2).strip()
|
||||
if case_name.find('武器箱') != -1:
|
||||
case_name = case_name.replace('武器箱', '').strip()
|
||||
if case_name.find("武器箱") != -1:
|
||||
case_name = case_name.replace("武器箱", "").strip()
|
||||
if not case_name:
|
||||
case_name = random.choice(cases_name)
|
||||
elif case_name not in cases_name:
|
||||
await open_shilian.finish('武器箱未收录!', at_sender=True)
|
||||
await open_shilian.finish(await open_shilian_case(event.user_id, event.group_id, case_name, num), at_sender=True)
|
||||
# await open_shilian.send("嘟嘟嘟...开箱中...")
|
||||
# num = 10
|
||||
# if str(state["_prefix"]["raw_command"]).find('十') != -1:
|
||||
# num = 10
|
||||
# elif str(state["_prefix"]["raw_command"]).find('五') != -1:
|
||||
# num = 5
|
||||
# if case_name:
|
||||
# await open_shilian.finish(await open_shilian_case(event.user_id, event.group_id, case_name, num), at_sender=True)
|
||||
# else:
|
||||
# await open_shilian.finish(await open_shilian_case(event.user_id, event.group_id, random.choice(cases_name), num),
|
||||
# at_sender=True)
|
||||
await open_shilian.finish("武器箱未收录!", at_sender=True)
|
||||
await open_shilian.finish(
|
||||
await open_shilian_case(event.user_id, event.group_id, case_name, num),
|
||||
at_sender=True,
|
||||
)
|
||||
|
||||
|
||||
num_dict = {
|
||||
'一': 1,
|
||||
'二': 2,
|
||||
'三': 3,
|
||||
'四': 4,
|
||||
'五': 5,
|
||||
'六': 6,
|
||||
'七': 7,
|
||||
'八': 8,
|
||||
'九': 9,
|
||||
'十': 10,
|
||||
'十一': 11,
|
||||
'十二': 12,
|
||||
'十三': 13,
|
||||
'十四': 14,
|
||||
'十五': 15,
|
||||
'十六': 16,
|
||||
'十七': 17,
|
||||
'十八': 18,
|
||||
'十九': 19,
|
||||
'二十': 20,
|
||||
'二十一': 21,
|
||||
'二十二': 22,
|
||||
'二十三': 23,
|
||||
'二十四': 24,
|
||||
'二十五': 25,
|
||||
'二十六': 26,
|
||||
'二十七': 27,
|
||||
'二十八': 28,
|
||||
'二十九': 29,
|
||||
'三十': 30
|
||||
"一": 1,
|
||||
"二": 2,
|
||||
"三": 3,
|
||||
"四": 4,
|
||||
"五": 5,
|
||||
"六": 6,
|
||||
"七": 7,
|
||||
"八": 8,
|
||||
"九": 9,
|
||||
"十": 10,
|
||||
"十一": 11,
|
||||
"十二": 12,
|
||||
"十三": 13,
|
||||
"十四": 14,
|
||||
"十五": 15,
|
||||
"十六": 16,
|
||||
"十七": 17,
|
||||
"十八": 18,
|
||||
"十九": 19,
|
||||
"二十": 20,
|
||||
"二十一": 21,
|
||||
"二十二": 22,
|
||||
"二十三": 23,
|
||||
"二十四": 24,
|
||||
"二十五": 25,
|
||||
"二十六": 26,
|
||||
"二十七": 27,
|
||||
"二十八": 28,
|
||||
"二十九": 29,
|
||||
"三十": 30,
|
||||
}
|
||||
|
||||
|
||||
@@ -172,10 +176,9 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
|
||||
# 重置开箱
|
||||
@scheduler.scheduled_job(
|
||||
'cron',
|
||||
"cron",
|
||||
hour=0,
|
||||
minute=1,
|
||||
)
|
||||
async def _():
|
||||
await update_count_daily()
|
||||
|
||||
|
||||
@@ -4,13 +4,13 @@ from services.log import logger
|
||||
from services.db_context import db
|
||||
from models.open_cases_user import OpenCasesUser
|
||||
from models.sigin_group_user import SignGroupUser
|
||||
from utils.init_result import image
|
||||
from utils.message_builder import image
|
||||
import pypinyin
|
||||
import random
|
||||
from .utils import get_price
|
||||
from models.buff_price import BuffPrice
|
||||
from PIL import Image
|
||||
from utils.img_utils import alphabg2white_PIL, CreateImg
|
||||
from utils.image_utils import alpha2white_PIL, CreateImg
|
||||
from configs.path_config import IMAGE_PATH
|
||||
import asyncio
|
||||
from utils.utils import cn2py
|
||||
@@ -221,7 +221,7 @@ async def open_shilian_case(user_qq: int, group: int, case_name: str, num: int =
|
||||
skin_name += ''.join(i)
|
||||
# img = image(skin_name, "cases/" + case, "png")
|
||||
wImg = CreateImg(200, 270, 200, 200)
|
||||
wImg.paste(alphabg2white_PIL(Image.open(IMAGE_PATH + f'cases/{case}/{skin_name}.png').resize((200, 200), Image.ANTIALIAS)), (0, 0))
|
||||
wImg.paste(alpha2white_PIL(Image.open(IMAGE_PATH + f'cases/{case}/{skin_name}.png').resize((200, 200), Image.ANTIALIAS)), (0, 0))
|
||||
wImg.text((5, 200), skin)
|
||||
wImg.text((5, 220), f'磨损:{str(mosun)[:9]}')
|
||||
wImg.text((5, 240), f'价格:{price_result}')
|
||||
@@ -370,7 +370,7 @@ def _pst_my_knife(w, h, knifes_list):
|
||||
style=pypinyin.NORMAL):
|
||||
skin_name += ''.join(i)
|
||||
knife_img = CreateImg(470, 600, 470, 470, font_size=20)
|
||||
knife_img.paste(alphabg2white_PIL(
|
||||
knife_img.paste(alpha2white_PIL(
|
||||
Image.open(IMAGE_PATH + f'cases/{case}/{skin_name}.png').resize((470, 470), Image.ANTIALIAS)), (0, 0))
|
||||
knife_img.text((5, 500), f'\t{name}({itype})')
|
||||
knife_img.text((5, 530), f'\t磨损:{mosun}')
|
||||
|
||||
@@ -12,9 +12,9 @@ from utils.utils import get_bot
|
||||
from models.group_remind import GroupRemind
|
||||
from utils.utils import get_cookie_text
|
||||
from asyncio.exceptions import TimeoutError
|
||||
from .config import *
|
||||
import pypinyin
|
||||
from nonebot.adapters.cqhttp.exception import ActionFailed
|
||||
from configs.config import buff_proxy
|
||||
from configs.config import BUFF_PROXY
|
||||
|
||||
url = "https://buff.163.com/api/market/goods"
|
||||
# proxies = 'http://49.75.59.242:3128'
|
||||
@@ -60,7 +60,7 @@ async def util_get_buff_price(case_name: str = "狂牙大行动") -> str:
|
||||
"search": skin
|
||||
}
|
||||
try:
|
||||
async with session.get(url, proxy=buff_proxy, params=parameter, timeout=20) as response:
|
||||
async with session.get(url, proxy=BUFF_PROXY, params=parameter, timeout=20) as response:
|
||||
if response.status == 200:
|
||||
data = (await response.json())["data"]
|
||||
total_page = data["total_page"]
|
||||
@@ -168,7 +168,7 @@ async def util_get_buff_img(case_name: str = "狂牙大行动") -> str:
|
||||
print(skin)
|
||||
skin_name = ''
|
||||
# try:
|
||||
async with session.get(url, proxy=buff_proxy, params=parameter, timeout=20) as response:
|
||||
async with session.get(url, proxy=BUFF_PROXY, params=parameter, timeout=20) as response:
|
||||
if response.status == 200:
|
||||
data = (await response.json())["data"]
|
||||
total_page = data["total_page"]
|
||||
|
||||
Reference in New Issue
Block a user