mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2025-12-15 14:22:55 +08:00
53 lines
1.8 KiB
Python
53 lines
1.8 KiB
Python
|
|
from nonebot.adapters import Bot
|
||
|
|
from nonebot.adapters.onebot.v11 import Bot as v11Bot
|
||
|
|
from nonebot.adapters.onebot.v12 import Bot as v12Bot
|
||
|
|
from nonebot.plugin import PluginMetadata
|
||
|
|
from nonebot_plugin_alconna import Alconna, Arparma, on_alconna
|
||
|
|
from nonebot_plugin_apscheduler import scheduler
|
||
|
|
from nonebot_plugin_saa import MessageFactory, Text
|
||
|
|
from nonebot_plugin_session import EventSession
|
||
|
|
|
||
|
|
from zhenxun.configs.utils import PluginExtraData, RegisterConfig
|
||
|
|
from zhenxun.services.log import logger
|
||
|
|
from zhenxun.utils.platform import broadcast_group
|
||
|
|
|
||
|
|
from .data_source import get_epic_free
|
||
|
|
|
||
|
|
__plugin_meta__ = PluginMetadata(
|
||
|
|
name="epic免费游戏",
|
||
|
|
description="可以不玩,不能没有,每日白嫖",
|
||
|
|
usage="""
|
||
|
|
epic
|
||
|
|
""".strip(),
|
||
|
|
extra=PluginExtraData(
|
||
|
|
author="AkashiCoin",
|
||
|
|
version="0.1",
|
||
|
|
configs=[
|
||
|
|
RegisterConfig(
|
||
|
|
module="_task",
|
||
|
|
key="DEFAULT_EPIC_FREE_GAME",
|
||
|
|
value=True,
|
||
|
|
help="被动 epic免费游戏 进群默认开关状态",
|
||
|
|
default_value=True,
|
||
|
|
type=bool,
|
||
|
|
),
|
||
|
|
],
|
||
|
|
).dict(),
|
||
|
|
)
|
||
|
|
|
||
|
|
_matcher = on_alconna(Alconna("epic"), priority=5, block=True)
|
||
|
|
|
||
|
|
|
||
|
|
@_matcher.handle()
|
||
|
|
async def handle(bot: Bot, session: EventSession, arparma: Arparma):
|
||
|
|
gid = session.id3 or session.id2
|
||
|
|
type_ = "Group" if gid else "Private"
|
||
|
|
msg_list, code = await get_epic_free(bot, type_)
|
||
|
|
if code == 404 and isinstance(msg_list, str):
|
||
|
|
await Text(msg_list).finish()
|
||
|
|
elif isinstance(bot, (v11Bot, v12Bot)) and isinstance(msg_list, list):
|
||
|
|
await bot.send_group_forward_msg(group_id=gid, messages=msg_list)
|
||
|
|
elif isinstance(msg_list, MessageFactory):
|
||
|
|
await msg_list.send()
|
||
|
|
logger.info(f"获取epic免费游戏", arparma.header_result, session=session)
|