mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-18 02:30:08 +08:00
fit nonebot.beta2
This commit is contained in:
@@ -1,11 +1,12 @@
|
||||
from .data_source import get_sign_reward_list, genshin_sign
|
||||
from nonebot.adapters.cqhttp import Bot, MessageEvent, GroupMessageEvent
|
||||
from nonebot.adapters.onebot.v11 import MessageEvent, GroupMessageEvent
|
||||
from nonebot import on_command
|
||||
from nonebot.typing import T_State
|
||||
from services.log import logger
|
||||
from .init_task import add_job, scheduler, _sign
|
||||
from apscheduler.jobstores.base import JobLookupError
|
||||
from ..models import Genshin
|
||||
from .._models import Genshin
|
||||
from nonebot.params import Command
|
||||
from typing import Tuple
|
||||
|
||||
|
||||
__zx_plugin_name__ = "原神自动签到"
|
||||
@@ -19,7 +20,7 @@ usage:
|
||||
原神我硬签
|
||||
""".strip()
|
||||
__plugin_des__ = "原神懒人签到"
|
||||
__plugin_cmd__ = ["开/关原神自动签到", "原神我硬签"]
|
||||
__plugin_cmd__ = ["开启/关闭原神自动签到", "原神我硬签"]
|
||||
__plugin_type__ = ("原神相关",)
|
||||
__plugin_version__ = 0.1
|
||||
__plugin_author__ = "HibiKier"
|
||||
@@ -37,13 +38,14 @@ genshin_matcher = on_command(
|
||||
|
||||
|
||||
@genshin_matcher.handle()
|
||||
async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
async def _(event: MessageEvent, cmd: Tuple[str, ...] = Command()):
|
||||
cmd = cmd[0]
|
||||
uid = await Genshin.get_user_uid(event.user_id)
|
||||
if not uid or not await Genshin.get_user_cookie(uid, True):
|
||||
await genshin_matcher.finish("请先绑定uid和cookie!")
|
||||
if "account_id" not in await Genshin.get_user_cookie(uid, True):
|
||||
await genshin_matcher.finish("请更新cookie!")
|
||||
if state["_prefix"]["raw_command"] == "原神我硬签":
|
||||
if cmd == "原神我硬签":
|
||||
try:
|
||||
msg = await genshin_sign(uid)
|
||||
logger.info(
|
||||
@@ -77,7 +79,7 @@ async def _(bot: Bot, event: MessageEvent, state: T_State):
|
||||
scheduler.remove_job(f"genshin_auto_sign_{uid}_{event.user_id}_{i}")
|
||||
except JobLookupError:
|
||||
pass
|
||||
if state["_prefix"]["raw_command"][0] == "开":
|
||||
if cmd[0] == "开":
|
||||
await Genshin.set_auto_sign(uid, True)
|
||||
next_date = await Genshin.random_sign_time(uid)
|
||||
add_job(event.user_id, uid, next_date)
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
from utils.http_utils import AsyncHttpx
|
||||
from configs.config import Config
|
||||
from services.log import logger
|
||||
from ..utils import random_hex, get_old_ds
|
||||
from ..models import Genshin
|
||||
from .._utils import random_hex, get_old_ds
|
||||
from .._models import Genshin
|
||||
from typing import Optional, Dict
|
||||
|
||||
|
||||
|
||||
@@ -4,7 +4,7 @@ from utils.message_builder import at
|
||||
from services.log import logger
|
||||
from utils.utils import scheduler, get_bot
|
||||
from apscheduler.jobstores.base import ConflictingIdError
|
||||
from ..models import Genshin
|
||||
from .._models import Genshin
|
||||
from datetime import datetime, timedelta
|
||||
from nonebot import Driver
|
||||
import nonebot
|
||||
@@ -103,8 +103,10 @@ async def _sign(user_id: int, uid: int, count: int):
|
||||
if user_id in [x["user_id"] for x in await bot.get_friend_list()]:
|
||||
await bot.send_private_msg(user_id=user_id, message=msg)
|
||||
else:
|
||||
group_list = await GroupInfoUser.get_user_all_group(user_id)
|
||||
if group_list:
|
||||
await bot.send_group_msg(
|
||||
group_id=group_list[0], message=at(user_id) + msg
|
||||
)
|
||||
if not (group_id := await Genshin.get_bind_group(uid)):
|
||||
group_list = await GroupInfoUser.get_user_all_group(user_id)
|
||||
if group_list:
|
||||
group_id = group_list[0]
|
||||
await bot.send_group_msg(
|
||||
group_id=group_id, message=at(user_id) + msg
|
||||
)
|
||||
|
||||
Reference in New Issue
Block a user