diff --git a/plugins/epic/__init__.py b/plugins/epic/__init__.py index 62dd0c06..d689b44e 100644 --- a/plugins/epic/__init__.py +++ b/plugins/epic/__init__.py @@ -1,9 +1,9 @@ from nonebot import on_command from services.log import logger -from nonebot.adapters.cqhttp import Bot, MessageEvent, GroupMessageEvent +from nonebot.adapters.cqhttp import Bot, Event, MessageEvent, GroupMessageEvent from nonebot.typing import T_State from utils.utils import scheduler, get_bot -from .data_source import get_epic_game +from .data_source import get_Epicfree from utils.manager import group_manager __zx_plugin_name__ = "epic免费游戏" @@ -16,7 +16,7 @@ usage: __plugin_des__ = "可以不玩,不能没有,每日白嫖" __plugin_cmd__ = ["epic"] __plugin_version__ = 0.1 -__plugin_author__ = "HibiKier" +__plugin_author__ = "AkashiCoin" __plugin_settings__ = { "level": 5, "default_status": True, @@ -31,9 +31,16 @@ epic = on_command("epic", priority=5, block=True) @epic.handle() -async def _(bot: Bot, event: MessageEvent, state: T_State): - result, code = await get_epic_game() - await epic.send(result) +async def handle(bot: Bot, event: Event, state: T_State): + msg_list = [] + msg_list, code = await get_Epicfree(bot, event) + if code == 404: + epic.finish(msg_list) + elif isinstance(event, GroupMessageEvent): + await bot.send_group_forward_msg(group_id=event.group_id, messages=msg_list) + else: + for msg in msg_list: + await epic.send(msg) logger.info( f"(USER {event.user_id}, GROUP {event.group_id if isinstance(event, GroupMessageEvent) else 'private'})" f" 获取epic免费游戏" @@ -53,8 +60,11 @@ async def _(): for g in gl: if await group_manager.check_group_task_status(g, 'epic_free_game'): try: - result, code = await get_epic_game() + msg_list = [] + msg_list, code = await get_Epicfree_Group(bot, event) if code == 200: - await bot.send_group_msg(group_id=g, message=result) + await bot.send_group_forward_msg(group_id=event.group_id, messages=msg_list) + else: + epic.finish(msg_list) except Exception as e: logger.error(f"GROUP {g} epic免费游戏推送错误 {type(e)}: {e}")