2021-05-20 19:23:32 +08:00
|
|
|
|
from nonebot import on_regex, on_keyword
|
2021-10-03 14:24:07 +08:00
|
|
|
|
from nonebot.adapters.cqhttp import Bot, MessageEvent, Message, GroupMessageEvent
|
2021-05-20 19:23:32 +08:00
|
|
|
|
from nonebot.permission import SUPERUSER
|
|
|
|
|
|
from nonebot.typing import T_State
|
2021-10-03 14:24:07 +08:00
|
|
|
|
from .genshin_handle import (
|
|
|
|
|
|
genshin_draw,
|
|
|
|
|
|
update_genshin_info,
|
|
|
|
|
|
reset_count,
|
|
|
|
|
|
reload_genshin_pool,
|
|
|
|
|
|
)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
from .prts_handle import update_prts_info, prts_draw, reload_prts_pool
|
2021-06-17 10:18:58 +08:00
|
|
|
|
from .pretty_handle import update_pretty_info, pretty_draw, reload_pretty_pool
|
2021-05-26 20:08:13 +08:00
|
|
|
|
from .guardian_handle import update_guardian_info, guardian_draw
|
|
|
|
|
|
from .pcr_handle import update_pcr_info, pcr_draw
|
2021-06-04 18:01:33 +08:00
|
|
|
|
from .azur_handle import update_azur_info, azur_draw
|
|
|
|
|
|
from .fgo_handle import update_fgo_info, fgo_draw
|
|
|
|
|
|
from .onmyoji_handle import update_onmyoji_info, onmyoji_draw
|
2021-05-20 19:23:32 +08:00
|
|
|
|
from .update_game_info import update_info
|
2021-06-04 18:01:33 +08:00
|
|
|
|
from .util import is_number, check_num
|
2021-05-26 20:08:13 +08:00
|
|
|
|
from .rule import is_switch
|
2021-10-03 14:24:07 +08:00
|
|
|
|
from .config import (
|
|
|
|
|
|
PRTS_FLAG,
|
|
|
|
|
|
PRETTY_FLAG,
|
|
|
|
|
|
GUARDIAN_FLAG,
|
|
|
|
|
|
GENSHIN_FLAG,
|
|
|
|
|
|
PCR_FLAG,
|
|
|
|
|
|
AZUR_FLAG,
|
|
|
|
|
|
FGO_FLAG,
|
|
|
|
|
|
ONMYOJI_FLAG,
|
|
|
|
|
|
)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
from .async_update_game_info import async_update_game
|
|
|
|
|
|
import re
|
|
|
|
|
|
import asyncio
|
2021-06-30 19:50:55 +08:00
|
|
|
|
from utils.utils import scheduler
|
2021-06-04 18:01:33 +08:00
|
|
|
|
from services.log import logger
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
__zx_plugin_name__ = "游戏抽卡"
|
|
|
|
|
|
__plugin_usage__ = """
|
|
|
|
|
|
usage:
|
|
|
|
|
|
模拟赛马娘,原神,明日方舟,坎公骑冠剑,公主连结(国/台),碧蓝航线,FGO,阴阳师进行抽卡
|
|
|
|
|
|
指令:
|
|
|
|
|
|
原神[1-300]抽: 原神常驻池
|
|
|
|
|
|
原神角色[1-300]抽: 原神角色UP池子
|
|
|
|
|
|
原神武器[1-300]抽: 原神武器UP池子
|
|
|
|
|
|
重置原神抽卡: 清空当前卡池的抽卡次数[即从0开始计算UP概率]
|
|
|
|
|
|
方舟[1-300]抽: 方舟卡池,当有当期UP时指向UP池
|
|
|
|
|
|
赛马娘[1-200]抽: 赛马娘卡池,当有当期UP时指向UP池
|
|
|
|
|
|
坎公骑冠剑[1-300]抽: 坎公骑冠剑卡池,当有当期UP时指向UP池
|
|
|
|
|
|
pcr/公主连接[1-300]抽: 公主连接卡池
|
|
|
|
|
|
碧蓝航线/碧蓝[重型/轻型/特型][1-300]抽: 碧蓝航线重型/轻型/特型卡池
|
|
|
|
|
|
fgo[1-300]抽: fgo卡池
|
|
|
|
|
|
阴阳师[1-300]抽: 阴阳师卡池
|
|
|
|
|
|
* 以上指令可以通过 XX一井 来指定最大抽取数量 *
|
|
|
|
|
|
* 示例:原神一井 *
|
|
|
|
|
|
""".strip()
|
|
|
|
|
|
__plugin_superuser_usage__ = """
|
|
|
|
|
|
usage:
|
|
|
|
|
|
卡池方面的更新
|
|
|
|
|
|
指令:
|
|
|
|
|
|
更新方舟信息
|
|
|
|
|
|
重载方舟卡池
|
|
|
|
|
|
更新原神信息
|
|
|
|
|
|
重载原神卡池
|
|
|
|
|
|
更新赛马娘信息
|
|
|
|
|
|
重载赛马娘卡池
|
|
|
|
|
|
更新坎公骑冠剑信息
|
|
|
|
|
|
更新碧蓝航线信息
|
|
|
|
|
|
更新fgo信息
|
|
|
|
|
|
更新阴阳师信息
|
|
|
|
|
|
""".strip()
|
|
|
|
|
|
__plugin_des__ = "就算是模拟抽卡也不能改变自己是个非酋"
|
|
|
|
|
|
__plugin_cmd__ = [
|
|
|
|
|
|
"原神[1-300]抽",
|
|
|
|
|
|
"原神角色[1-300]抽",
|
|
|
|
|
|
"原神武器[1-300]抽",
|
|
|
|
|
|
"重置原神抽卡",
|
|
|
|
|
|
"方舟[1-300]抽",
|
|
|
|
|
|
"赛马娘[1-200]抽",
|
|
|
|
|
|
"坎公骑冠剑[1-300]抽",
|
|
|
|
|
|
"pcr/公主连接[1-300]抽",
|
|
|
|
|
|
"fgo[1-300]抽",
|
|
|
|
|
|
"阴阳师[1-300]抽",
|
|
|
|
|
|
"更新方舟信息 [_superuser]",
|
|
|
|
|
|
"重载方舟卡池 [_superuser]",
|
|
|
|
|
|
"更新原神信息 [_superuser]",
|
|
|
|
|
|
"重载原神卡池 [_superuser]",
|
|
|
|
|
|
"更新赛马娘信息 [_superuser]",
|
|
|
|
|
|
"重载赛马娘卡池 [_superuser]",
|
|
|
|
|
|
"更新坎公骑冠剑信息 [_superuser]",
|
|
|
|
|
|
"更新碧蓝航线信息 [_superuser]",
|
|
|
|
|
|
"更新fgo信息 [_superuser]",
|
|
|
|
|
|
"更新阴阳师信息 [_superuser]",
|
|
|
|
|
|
]
|
|
|
|
|
|
__plugin_type__ = ("抽卡相关", 1)
|
|
|
|
|
|
__plugin_version__ = 0.1
|
|
|
|
|
|
__plugin_author__ = "HibiKier"
|
|
|
|
|
|
__plugin_settings__ = {
|
|
|
|
|
|
"level": 5,
|
|
|
|
|
|
"default_status": True,
|
|
|
|
|
|
"limit_superuser": False,
|
|
|
|
|
|
"cmd": ["游戏抽卡", "抽卡"],
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
prts = on_regex(
|
|
|
|
|
|
r".*?方舟[1-9|一][0-9]{0,2}[抽|井]", rule=is_switch("prts"), priority=5, block=True
|
|
|
|
|
|
)
|
|
|
|
|
|
prts_update = on_keyword(
|
|
|
|
|
|
{"更新方舟信息", "更新明日方舟信息"}, permission=SUPERUSER, priority=1, block=True
|
|
|
|
|
|
)
|
|
|
|
|
|
prts_up_reload = on_keyword({"重载方舟卡池"}, priority=1, block=True)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
genshin = on_regex(
|
|
|
|
|
|
".*?原神(武器|角色)?池?[1-9|一][0-9]{0,2}[抽|井]",
|
|
|
|
|
|
rule=is_switch("genshin"),
|
|
|
|
|
|
priority=5,
|
|
|
|
|
|
block=True,
|
|
|
|
|
|
)
|
|
|
|
|
|
genshin_update = on_keyword({"更新原神信息"}, permission=SUPERUSER, priority=1, block=True)
|
|
|
|
|
|
genshin_reset = on_keyword({"重置原神抽卡"}, priority=1, block=True)
|
|
|
|
|
|
genshin_up_reload = on_keyword({"重载原神卡池"}, priority=1, block=True)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pretty = on_regex(
|
|
|
|
|
|
".*?马娘卡?[1-9|一][0-9]{0,2}[抽|井]", rule=is_switch("pretty"), priority=5, block=True
|
|
|
|
|
|
)
|
|
|
|
|
|
pretty_update = on_keyword(
|
|
|
|
|
|
{"更新马娘信息", "更新赛马娘信息"}, permission=SUPERUSER, priority=1, block=True
|
|
|
|
|
|
)
|
|
|
|
|
|
pretty_up_reload = on_keyword({"重载赛马娘卡池"}, priority=1, block=True)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
guardian = on_regex(
|
|
|
|
|
|
".*?坎公骑冠剑武?器?[1-9|一][0-9]{0,2}[抽|井]",
|
|
|
|
|
|
rule=is_switch("guardian"),
|
|
|
|
|
|
priority=5,
|
|
|
|
|
|
block=True,
|
|
|
|
|
|
)
|
|
|
|
|
|
guardian_update = on_keyword(
|
|
|
|
|
|
{"更新坎公骑冠剑信息"}, permission=SUPERUSER, priority=1, block=True
|
|
|
|
|
|
)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pcr = on_regex(
|
|
|
|
|
|
".*?(pcr|公主连结|公主连接|公主链接|公主焊接)[1-9|一][0-9]{0,2}[抽|井]",
|
|
|
|
|
|
rule=is_switch("pcr"),
|
|
|
|
|
|
priority=5,
|
|
|
|
|
|
block=True,
|
|
|
|
|
|
)
|
|
|
|
|
|
pcr_update = on_keyword(
|
|
|
|
|
|
{"更新pcr信息", "更新公主连结信息"}, permission=SUPERUSER, priority=1, block=True
|
|
|
|
|
|
)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
azur = on_regex(
|
|
|
|
|
|
".*?碧蓝航?线?(轻型|重型|特型)池?[1-9|一][0-9]{0,2}[抽]",
|
|
|
|
|
|
rule=is_switch("azur"),
|
|
|
|
|
|
priority=5,
|
|
|
|
|
|
block=True,
|
|
|
|
|
|
)
|
|
|
|
|
|
azur_update = on_keyword(
|
|
|
|
|
|
{"更新碧蓝信息", "更新碧蓝航线信息"}, permission=SUPERUSER, priority=1, block=True
|
|
|
|
|
|
)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
fgo = on_regex(
|
|
|
|
|
|
".*?fgo[1-9|一][0-9]{0,2}[抽]", rule=is_switch("fgo"), priority=5, block=True
|
|
|
|
|
|
)
|
|
|
|
|
|
fgo_update = on_keyword({"更新fgo信息"}, permission=SUPERUSER, priority=1, block=True)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
2021-10-03 14:24:07 +08:00
|
|
|
|
onmyoji = on_regex(
|
|
|
|
|
|
".*?阴阳师[1-9|一][0-9]{0,2}[抽]", rule=is_switch("onmyoji"), priority=5, block=True
|
|
|
|
|
|
)
|
|
|
|
|
|
onmyoji_update = on_keyword({"更新阴阳师信息"}, permission=SUPERUSER, priority=1, block=True)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
@prts.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if msg in ["方舟一井", "方舟1井"]:
|
2021-05-20 19:23:32 +08:00
|
|
|
|
num = 300
|
|
|
|
|
|
else:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(r".*?方舟(.*)抽", msg)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
num, flag = check_num(rmsg.group(1), 300)
|
|
|
|
|
|
if not flag:
|
|
|
|
|
|
await prts.finish(num, at_sender=True)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
else:
|
|
|
|
|
|
return
|
2021-05-26 20:08:13 +08:00
|
|
|
|
await prts.send(await prts_draw(int(num)), at_sender=True)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 方舟 {num}抽"
|
|
|
|
|
|
)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-06-04 18:01:33 +08:00
|
|
|
|
@prts_up_reload.handle()
|
2021-05-20 19:23:32 +08:00
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
2021-06-04 18:01:33 +08:00
|
|
|
|
text = await reload_prts_pool()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await prts_up_reload.finish(Message(f"重载完成!\n{text}"))
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@genshin.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(r".*?原神(武器|角色)?池?(.*)[抽|井]", msg)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
pool_name = rmsg.group(1)
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if pool_name == "武器":
|
|
|
|
|
|
pool_name = "arms"
|
|
|
|
|
|
elif pool_name == "角色":
|
|
|
|
|
|
pool_name = "char"
|
2021-06-04 18:01:33 +08:00
|
|
|
|
else:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pool_name = ""
|
2021-06-04 18:01:33 +08:00
|
|
|
|
num = rmsg.group(2)
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if msg.find("一井") != -1 or msg.find("1井") != -1:
|
2021-06-04 18:01:33 +08:00
|
|
|
|
num = 180
|
|
|
|
|
|
else:
|
|
|
|
|
|
num, flag = check_num(num, 180)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
if not flag:
|
|
|
|
|
|
await genshin.finish(num, at_sender=True)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
else:
|
|
|
|
|
|
return
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin.send(
|
|
|
|
|
|
await genshin_draw(event.user_id, int(num), pool_name), at_sender=True
|
|
|
|
|
|
)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 原神 {num}抽"
|
|
|
|
|
|
)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@genshin_up_reload.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
text = await reload_genshin_pool()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_reset.finish(Message(f"重载成功!\n{text}"))
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@genshin_reset.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
reset_count(event.user_id)
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_reset.send("重置了原神抽卡次数", at_sender=True)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pretty.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if msg.find("1井") != -1 or msg.find("一井") != -1:
|
2021-05-20 19:23:32 +08:00
|
|
|
|
num = 200
|
|
|
|
|
|
if msg.find("卡") == -1:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pool_name = "char"
|
2021-05-20 19:23:32 +08:00
|
|
|
|
else:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pool_name = "card"
|
2021-05-20 19:23:32 +08:00
|
|
|
|
else:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(r".*?马娘(.*)抽", msg)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
num = rmsg.group(1)
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if num[0] == "卡":
|
2021-05-20 19:23:32 +08:00
|
|
|
|
num = num[1:]
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pool_name = "card"
|
2021-05-20 19:23:32 +08:00
|
|
|
|
else:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pool_name = "char"
|
2021-05-26 20:08:13 +08:00
|
|
|
|
num, flag = check_num(num, 200)
|
|
|
|
|
|
if not flag:
|
|
|
|
|
|
await pretty.finish(num, at_sender=True)
|
|
|
|
|
|
else:
|
|
|
|
|
|
return
|
|
|
|
|
|
await pretty.send(await pretty_draw(int(num), pool_name), at_sender=True)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 赛马娘 {num}抽"
|
|
|
|
|
|
)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-06-17 10:18:58 +08:00
|
|
|
|
@pretty_up_reload.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
text = await reload_pretty_pool()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_reset.finish(Message(f"重载成功!\n{text}"))
|
2021-06-17 10:18:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-05-26 20:08:13 +08:00
|
|
|
|
@guardian.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
pool_name = "char"
|
|
|
|
|
|
if msg.find("1井") != -1 or msg.find("一井") != -1:
|
2021-05-26 20:08:13 +08:00
|
|
|
|
num = 300
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if msg.find("武器") != -1:
|
|
|
|
|
|
pool_name = "arms"
|
2021-05-26 20:08:13 +08:00
|
|
|
|
else:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(r".*?坎公骑冠剑(.*)抽", msg)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
num = rmsg.group(1)
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if num.find("武器") != -1:
|
|
|
|
|
|
pool_name = "arms"
|
|
|
|
|
|
num = num.replace("武器", "")
|
2021-05-26 20:08:13 +08:00
|
|
|
|
num, flag = check_num(num, 300)
|
|
|
|
|
|
if not flag:
|
|
|
|
|
|
await guardian.finish(num, at_sender=True)
|
|
|
|
|
|
else:
|
|
|
|
|
|
return
|
|
|
|
|
|
await guardian.send(await guardian_draw(int(num), pool_name), at_sender=True)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 坎公骑冠剑 {num}抽"
|
|
|
|
|
|
)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pcr.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
if msg.find("1井") != -1 or msg.find("一井") != -1:
|
2021-05-26 20:08:13 +08:00
|
|
|
|
num = 300
|
|
|
|
|
|
else:
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(r".*?(pcr|公主连结)(.*)[抽|井]", msg)
|
2021-05-26 20:08:13 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
num, flag = check_num(rmsg.group(2), 300)
|
|
|
|
|
|
if not flag:
|
|
|
|
|
|
await pcr.finish(num, at_sender=True)
|
|
|
|
|
|
else:
|
|
|
|
|
|
return
|
|
|
|
|
|
await pcr.send(await pcr_draw(int(num)), at_sender=True)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 公主连结 {num}抽"
|
|
|
|
|
|
)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@azur.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(".*?碧蓝航?线?(轻型|重型|特型)池?(.*)[抽]", msg)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
pool_name = rmsg.group(1)
|
|
|
|
|
|
num, flag = check_num(rmsg.group(2), 300)
|
|
|
|
|
|
if not flag:
|
|
|
|
|
|
await azur.finish(num, at_sender=True)
|
|
|
|
|
|
else:
|
|
|
|
|
|
return
|
|
|
|
|
|
await azur.send(await azur_draw(int(num), pool_name), at_sender=True)
|
|
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 碧蓝航线 {num}抽"
|
|
|
|
|
|
)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@fgo.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(".*?fgo(.*)抽", msg)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
num, flag = check_num(rmsg.group(1), 300)
|
|
|
|
|
|
if not flag:
|
|
|
|
|
|
await fgo.finish(num, at_sender=True)
|
|
|
|
|
|
else:
|
|
|
|
|
|
return
|
|
|
|
|
|
await fgo.send(await fgo_draw(int(num)), at_sender=True)
|
|
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) fgo {num}抽"
|
|
|
|
|
|
)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@onmyoji.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
msg = str(event.get_message()).strip()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
rmsg = re.search(".*?阴阳师(.*)抽", msg)
|
2021-06-04 18:01:33 +08:00
|
|
|
|
if rmsg:
|
|
|
|
|
|
num, flag = check_num(rmsg.group(1), 300)
|
|
|
|
|
|
if not flag:
|
|
|
|
|
|
await onmyoji.finish(num, at_sender=True)
|
|
|
|
|
|
else:
|
|
|
|
|
|
return
|
|
|
|
|
|
await onmyoji.send(await onmyoji_draw(int(num)), at_sender=True)
|
|
|
|
|
|
logger.info(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'}) 阴阳师 {num}抽"
|
|
|
|
|
|
)
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@prts_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_prts_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await prts_update.finish("更新完成!")
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@genshin_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_genshin_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_update.finish("更新完成!")
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pretty_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_pretty_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_update.finish("更新完成!")
|
2021-05-20 19:23:32 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-05-26 20:08:13 +08:00
|
|
|
|
@guardian_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_guardian_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_update.finish("更新完成!")
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@pcr_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_pcr_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_update.finish("更新完成!")
|
2021-05-26 20:08:13 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-06-04 18:01:33 +08:00
|
|
|
|
@azur_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_azur_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_update.finish("更新完成!")
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@fgo_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_fgo_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_update.finish("更新完成!")
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
@onmyoji_update.handle()
|
|
|
|
|
|
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
|
|
|
|
|
await update_onmyoji_info()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
await genshin_update.finish("更新完成!")
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-05-20 19:23:32 +08:00
|
|
|
|
# 更新资源
|
|
|
|
|
|
@scheduler.scheduled_job(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
"cron",
|
2021-05-20 19:23:32 +08:00
|
|
|
|
hour=4,
|
|
|
|
|
|
minute=1,
|
|
|
|
|
|
)
|
|
|
|
|
|
async def _():
|
2021-06-04 18:01:33 +08:00
|
|
|
|
tasks = []
|
|
|
|
|
|
if PRTS_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_prts_info()))
|
|
|
|
|
|
if GENSHIN_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_genshin_info()))
|
|
|
|
|
|
if PRETTY_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_pretty_info()))
|
|
|
|
|
|
if GUARDIAN_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_guardian_info()))
|
|
|
|
|
|
if PCR_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_pcr_info()))
|
|
|
|
|
|
if AZUR_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_azur_info()))
|
|
|
|
|
|
if FGO_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_fgo_info()))
|
|
|
|
|
|
if ONMYOJI_FLAG:
|
|
|
|
|
|
tasks.append(asyncio.ensure_future(update_onmyoji_info()))
|
|
|
|
|
|
await asyncio.gather(*tasks)
|
2021-10-03 14:24:07 +08:00
|
|
|
|
logger.info("draw_card 抽卡自动更新完成...")
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
# 每天四点重载方舟up卡池
|
2021-05-20 19:23:32 +08:00
|
|
|
|
@scheduler.scheduled_job(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
"cron",
|
2021-05-20 19:23:32 +08:00
|
|
|
|
hour=4,
|
|
|
|
|
|
minute=1,
|
|
|
|
|
|
)
|
|
|
|
|
|
async def _():
|
2021-05-26 20:08:13 +08:00
|
|
|
|
if PRTS_FLAG:
|
2021-06-04 18:01:33 +08:00
|
|
|
|
await reload_prts_pool()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
logger.info("自动重载方舟卡池UP成功")
|
2021-06-04 18:01:33 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-06-17 10:18:58 +08:00
|
|
|
|
# 每天四点重载赛马娘up卡池
|
|
|
|
|
|
@scheduler.scheduled_job(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
"cron",
|
2021-06-17 10:18:58 +08:00
|
|
|
|
hour=4,
|
|
|
|
|
|
minute=1,
|
|
|
|
|
|
)
|
|
|
|
|
|
async def _():
|
|
|
|
|
|
if PRETTY_FLAG:
|
|
|
|
|
|
await reload_pretty_pool()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
logger.info("自动重载赛马娘UP成功")
|
2021-06-17 10:18:58 +08:00
|
|
|
|
|
|
|
|
|
|
|
2021-06-04 18:01:33 +08:00
|
|
|
|
# 每天下午六点点重载原神up卡池
|
|
|
|
|
|
@scheduler.scheduled_job(
|
2021-10-03 14:24:07 +08:00
|
|
|
|
"cron",
|
2021-06-04 18:01:33 +08:00
|
|
|
|
hour=18,
|
|
|
|
|
|
minute=1,
|
|
|
|
|
|
)
|
|
|
|
|
|
async def _():
|
|
|
|
|
|
if PRTS_FLAG:
|
|
|
|
|
|
await reload_genshin_pool()
|
2021-10-03 14:24:07 +08:00
|
|
|
|
logger.info("自动重载原神卡池UP成功")
|