mirror of
https://github.com/zhenxun-org/zhenxun_bot.git
synced 2026-10-08 21:30:01 +08:00
feat✨: add epic
This commit is contained in:
@@ -0,0 +1,52 @@
|
||||
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)
|
||||
Reference in New Issue
Block a user