diff --git a/__pycache__/main.cpython-313.pyc b/__pycache__/main.cpython-313.pyc index 2f61c24..92d755b 100644 Binary files a/__pycache__/main.cpython-313.pyc and b/__pycache__/main.cpython-313.pyc differ diff --git a/core/__pycache__/__init__.cpython-313.pyc b/core/__pycache__/__init__.cpython-313.pyc index e008624..a08429a 100644 Binary files a/core/__pycache__/__init__.cpython-313.pyc and b/core/__pycache__/__init__.cpython-313.pyc differ diff --git a/core/__pycache__/async_task.cpython-313.pyc b/core/__pycache__/async_task.cpython-313.pyc new file mode 100644 index 0000000..811d24d Binary files /dev/null and b/core/__pycache__/async_task.cpython-313.pyc differ diff --git a/core/__pycache__/fun_basic.cpython-313.pyc b/core/__pycache__/fun_basic.cpython-313.pyc new file mode 100644 index 0000000..3d42b16 Binary files /dev/null and b/core/__pycache__/fun_basic.cpython-313.pyc differ diff --git a/core/__pycache__/jx3_commands.cpython-313.pyc b/core/__pycache__/jx3_commands.cpython-313.pyc new file mode 100644 index 0000000..b941502 Binary files /dev/null and b/core/__pycache__/jx3_commands.cpython-313.pyc differ diff --git a/core/__pycache__/jx3_data.cpython-313.pyc b/core/__pycache__/jx3_data.cpython-313.pyc new file mode 100644 index 0000000..e3ab6a3 Binary files /dev/null and b/core/__pycache__/jx3_data.cpython-313.pyc differ diff --git a/core/__pycache__/request.cpython-313.pyc b/core/__pycache__/request.cpython-313.pyc index 506f62b..e5c9a23 100644 Binary files a/core/__pycache__/request.cpython-313.pyc and b/core/__pycache__/request.cpython-313.pyc differ diff --git a/core/jx3_commands.py b/core/jx3_commands.py new file mode 100644 index 0000000..ac3e641 --- /dev/null +++ b/core/jx3_commands.py @@ -0,0 +1,452 @@ +# pyright: reportArgumentType=false +# pyright: reportAttributeAccessIssue=false +# pyright: reportIndexIssue=false +# pyright: reportOptionalMemberAccess=false +import json +import shutil +import pathlib +import asyncio +import inspect +from pathlib import Path +from typing import Union + +from astrbot.api.event import filter, AstrMessageEvent, MessageEventResult, MessageChain +from astrbot.api.star import Context, Star, register, StarTools +from astrbot.api import logger +from astrbot.api import AstrBotConfig +import astrbot.api.message_components as Comp + +from .jx3_data import JX3Service +from .async_task import AsyncTask + + +class JX3Commands(Star): + def __init__(self, jx3_data:JX3Service, at:AsyncTask, server:str): + self.jx3fun = jx3_data + self.jx3at = at + self.server = server + + + def serverdefault(self,server): + """加载配置默认服务器""" + if server == "": + return self.server + return server + + + async def jx3_helps(self, event: AstrMessageEvent): + """剑三 功能""" + data = await self.jx3fun.helps() + try: + + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_richang(self, event: AstrMessageEvent,server: str = "" ,num: int = 0): + """剑三 日常 服务器 天数""" + try: + data= await self.jx3fun.richang(self.serverdefault(server),num) + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_richangyuche(self, event: AstrMessageEvent): + """剑三 日常预测""" + try: + data= await self.jx3fun.richangyuche() + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_xingxiashijian(self, event: AstrMessageEvent,name: str = "穹野卫"): + """剑三 名望""" + try: + data= await self.jx3fun.xingxiashijian(name) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_kaifu(self, event: AstrMessageEvent,server: str = ""): + """剑三 开服 服务器""" + try: + data= await self.jx3fun.kaifu(self.serverdefault(server)) + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_zhuangtai(self, event: AstrMessageEvent): + """剑三 状态""" + try: + data= await self.jx3fun.zhuangtai() + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_shaohua(self, event: AstrMessageEvent,): + """剑三 骚话""" + try: + data= await self.jx3fun.shaohua() + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_jigai(self, event: AstrMessageEvent,): + """剑三 技改""" + try: + data= await self.jx3fun.jigai() + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_shapan(self, event: AstrMessageEvent,server: str = ""): + """剑三 沙盘 服务器""" + try: + data= await self.jx3fun.shapan(self.serverdefault(server)) + if data["code"] == 200: + yield event.image_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""): + """剑三 奇遇统计 奇遇名称 服务器""" + try: + data= await self.jx3fun.qiyu(adventureName,self.serverdefault(server)) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_qiyugonglue(self, event: AstrMessageEvent,name: str): + """剑三 奇遇攻略 奇遇名称""" + try: + data= await self.jx3fun.qiyugonglue(name) + if data["code"] == 200: + url = await self.html_render(data["temp"], {}, options={}) + chain = [ + Comp.Plain(f"{data['data']} \n"), + Comp.Image.fromURL(f"{url}") + ] + yield event.chain_result(chain) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_jinjia(self, event: AstrMessageEvent,server: str = "", limit:str = "15"): + """剑三 金价 服务器""" + try: + data= await self.jx3fun.jinjia( self.serverdefault(server),limit) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_wujia(self, event: AstrMessageEvent,Name: str = "秃盒", server: str = ""): + """剑三 物价 外观名称""" + try: + data=await self.jx3fun.wujia(Name, self.serverdefault(server)) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_jiaoyihang(self, event: AstrMessageEvent,Name: str = "守缺式",server: str = ""): + """剑三 交易行 物品名称 服务器""" + try: + data=await self.jx3fun.jiaoyihang(Name, self.serverdefault(server)) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_jueshemingpian(self, event: AstrMessageEvent, name: str = "飞翔大野猪", server: str = ""): + """剑三 名片 角色 服务器""" + try: + data= await self.jx3fun.jueshemingpian( self.serverdefault(server),name) + if data["code"] == 200: + chain = [ + Comp.Plain(f"{data['data']['serverName']}--{data['data']['roleName']} \n"), + Comp.Image.fromURL(f"{data['data']['showAvatar']}") + ] + yield event.chain_result(chain) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_shuijimingpian(self, event: AstrMessageEvent,force: str = "万花", body: str = "萝莉", server: str = ""): + """剑三 随机名片 职业 体型 服务器""" + try: + data= await self.jx3fun.shuijimingpian(force,body, self.serverdefault(server)) + if data["code"] == 200: + chain = [ + + Comp.Plain(f"{data['data']['serverName']}--{data['data']['roleName']} \n"), + Comp.Image.fromURL(f"{data['data']['showAvatar']}"), + Comp.Plain(f"{force}--{body} \n") + ] + yield event.chain_result(chain) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_yanhuachaxun(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""): + """剑三 烟花 角色 服务器""" + try: + data= await self.jx3fun.yanhuachaxun( self.serverdefault(server),name) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_dilujilu(self, event: AstrMessageEvent,server: str = ""): + """剑三 的卢 服务器""" + try: + data= await self.jx3fun.dilujilu( self.serverdefault(server)) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = ""): + """剑三 招募 副本 服务器""" + try: + data= await self.jx3fun.tuanduizhaomu( self.serverdefault(server),keyword) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = "", mode:str = "33"): + """剑三 战绩 角色 服务器 类型""" + try: + data= await self.jx3fun.zhanji(name, self.serverdefault(server),mode) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_qiyu(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""): + """剑三 奇遇 角色名称 服务器""" + try: + data= await self.jx3fun.juesheqiyu(name, self.serverdefault(server)) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""): + """剑三 阵营拍卖 物品名称 服务器""" + try: + data= await self.jx3fun.zhengyingpaimai( self.serverdefault(server), name) + if data["code"] == 200: + url = await self.html_render(data["temp"], data["data"], options={}) + yield event.image_result(url) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_fuyaojjiutian(self, event: AstrMessageEvent,server: str = ""): + """剑三 扶摇九天 服务器""" + try: + data= await self.jx3fun.fuyaojjiutian( self.serverdefault(server)) + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_shuma(self, event: AstrMessageEvent,server: str = ""): + """剑三 刷马 服务器""" + try: + data= await self.jx3fun.shuma( self.serverdefault(server)) + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_pianzhi(self, event: AstrMessageEvent,qq: str): + """剑三 骗子 QQ""" + try: + data= await self.jx3fun.pianzhi(qq) + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_bagua(self, event: AstrMessageEvent,type: str): + """剑三 八卦 类型""" + try: + data= await self.jx3fun.bagua(type) + if data["code"] == 200: + yield event.plain_result(data["data"]) + else: + yield event.plain_result(data["msg"]) + return + except Exception as e: + logger.error(f"功能函数执行错误: {e}") + yield event.plain_result("猪脑过载,请稍后再试") + + + async def jx3_kaifhujiank(self, event: AstrMessageEvent): + """剑三 开服监控""" + return_msg = await self.jx3at.get_task_info("kfjk") + yield event.plain_result(return_msg) + + + async def jx3_xinwenzhixun(self, event: AstrMessageEvent): + """剑三 新闻推送""" + return_msg = await self.jx3at.get_task_info("xwzx") + yield event.plain_result(return_msg) + + + async def jx3_shuamamsg(self, event: AstrMessageEvent): + """剑三 刷马推送""" + return_msg = await self.jx3at.get_task_info("smxx") + yield event.plain_result(return_msg) + + + async def jx3_chitusg(self, event: AstrMessageEvent): + """剑三 赤兔推送""" + return_msg = await self.jx3at.get_task_info("ctxx") + yield event.plain_result(return_msg) \ No newline at end of file diff --git a/main.py b/main.py index cefda8b..f6b9704 100644 --- a/main.py +++ b/main.py @@ -16,7 +16,7 @@ import astrbot.api.message_components as Comp from .core.jx3_data import JX3Service from .core.async_task import AsyncTask - +from .core.jx3_commands import JX3Commands @register("astrbot_plugin_jx3", "fxdyz", @@ -53,9 +53,10 @@ class Jx3ApiPlugin(Star): logger.info(f"未启用指令前缀功能。") # 默认服务器 self.server = self.conf.get("server", "梦江南") + # 声明指令集 + self.command_map = {} logger.info(f"配置加载默认服务器:{self.server}") - # 指令集 - self.ini_command_map() + logger.info(f"指令集初始完成。") logger.info("jx3api插件初始化完成") @@ -80,12 +81,16 @@ class Jx3ApiPlugin(Star): self.jx3fun = JX3Service(self.api_config, self.conf) self.at = AsyncTask(self.context, self.conf, self.jx3fun) await self.at.init_tasks() + self.jx3com = JX3Commands(self.jx3fun,self.at,self.server) except Exception as e: if hasattr(self, "at"): await self.at.destroy() logger.error(f"功能模块初始化失败: {e}") raise + # 指令集 + self.ini_command_map() + logger.info("jx3api 异步插件初始化完成") @@ -193,15 +198,18 @@ class Jx3ApiPlugin(Star): @filter.event_message_type(filter.EventMessageType.ALL) async def on_all_message(self, event: AstrMessageEvent): """解析所有消息""" + if not self.command_map: + logger.debug("插件尚未初始化完成,忽略消息") + return parts = self.parse_message(event.message_str) if not parts: - logger.debug("未触发指令") + logger.debug("未触发指令,忽略消息") return cmd, *args = parts handler = self.command_map.get(cmd) if not handler: - logger.debug("指令函数为空") + logger.debug("指令函数为空,忽略消息") return try: @@ -215,453 +223,40 @@ class Jx3ApiPlugin(Star): def ini_command_map(self): """初始化指令集""" self.command_map = { - "功能": self.jx3_helps, - "日常": self.jx3_richang, - "日常预测": self.jx3_richangyuche, - "名望": self.jx3_xingxiashijian, - "开服": self.jx3_kaifu, - "状态": self.jx3_zhuangtai, - "骚话": self.jx3_shaohua, - "技改": self.jx3_jigai, - "沙盘": self.jx3_shapan, - "奇遇统计": self.jx3_qufuqiyu, - "奇遇攻略": self.jx3_qiyugonglue, - "金价": self.jx3_jinjia, - "交易行": self.jx3_jiaoyihang, - "名片": self.jx3_jueshemingpian, - "随机名片": self.jx3_shuijimingpian, - "烟花": self.jx3_yanhuachaxun, - "的卢": self.jx3_dilujilu, - "招募": self.jx3_tuanduizhaomu, - "战绩": self.jx3_zhanji, - "奇遇": self.jx3_qiyu, - "阵营拍卖": self.jx3_zhengyingpaimai, - "扶摇九天": self.jx3_fuyaojjiutian, - "刷马": self.jx3_shuma, - "骗子": self.jx3_pianzhi, - "八卦": self.jx3_bagua, - "开服监控": self.jx3_kaifhujiank, - "新闻推送": self.jx3_xinwenzhixun, - "刷马推送": self.jx3_shuamamsg, - "赤兔推送": self.jx3_chitusg, + "功能": self.jx3com.jx3_helps, + "日常": self.jx3com.jx3_richang, + "日常预测": self.jx3com.jx3_richangyuche, + "名望": self.jx3com.jx3_xingxiashijian, + "开服": self.jx3com.jx3_kaifu, + "状态": self.jx3com.jx3_zhuangtai, + "骚话": self.jx3com.jx3_shaohua, + "技改": self.jx3com.jx3_jigai, + "沙盘": self.jx3com.jx3_shapan, + "奇遇统计": self.jx3com.jx3_qufuqiyu, + "奇遇攻略": self.jx3com.jx3_qiyugonglue, + "金价": self.jx3com.jx3_jinjia, + "物价": self.jx3com.jx3_wujia, + "交易行": self.jx3com.jx3_jiaoyihang, + "名片": self.jx3com.jx3_jueshemingpian, + "随机名片": self.jx3com.jx3_shuijimingpian, + "烟花": self.jx3com.jx3_yanhuachaxun, + "的卢": self.jx3com.jx3_dilujilu, + "招募": self.jx3com.jx3_tuanduizhaomu, + "战绩": self.jx3com.jx3_zhanji, + "奇遇": self.jx3com.jx3_qiyu, + "阵营拍卖": self.jx3com.jx3_zhengyingpaimai, + "扶摇九天": self.jx3com.jx3_fuyaojjiutian, + "刷马": self.jx3com.jx3_shuma, + "骗子": self.jx3com.jx3_pianzhi, + "八卦": self.jx3com.jx3_bagua, + "开服监控": self.jx3com.jx3_kaifhujiank, + "新闻推送": self.jx3com.jx3_xinwenzhixun, + "刷马推送": self.jx3com.jx3_shuamamsg, + "赤兔推送": self.jx3com.jx3_chitusg, } - async def jx3_helps(self, event: AstrMessageEvent): - """剑三 功能""" - data = await self.jx3fun.helps() - try: - - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - async def jx3_richang(self, event: AstrMessageEvent,server: str = "" ,num: int = 0): - """剑三 日常 服务器 天数""" - try: - data= await self.jx3fun.richang(self.serverdefault(server),num) - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_richangyuche(self, event: AstrMessageEvent): - """剑三 日常预测""" - try: - data= await self.jx3fun.richangyuche() - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_xingxiashijian(self, event: AstrMessageEvent,name: str = "穹野卫"): - """剑三 名望""" - try: - data= await self.jx3fun.xingxiashijian(name) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_kaifu(self, event: AstrMessageEvent,server: str = ""): - """剑三 开服 服务器""" - try: - data= await self.jx3fun.kaifu(self.serverdefault(server)) - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_zhuangtai(self, event: AstrMessageEvent): - """剑三 状态""" - try: - data= await self.jx3fun.zhuangtai() - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_shaohua(self, event: AstrMessageEvent,): - """剑三 骚话""" - try: - data= await self.jx3fun.shaohua() - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_jigai(self, event: AstrMessageEvent,): - """剑三 技改""" - try: - data= await self.jx3fun.jigai() - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_shapan(self, event: AstrMessageEvent,server: str = ""): - """剑三 沙盘 服务器""" - try: - data= await self.jx3fun.shapan(self.serverdefault(server)) - if data["code"] == 200: - yield event.image_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_qufuqiyu(self, event: AstrMessageEvent,adventureName: str = "阴阳两界", server: str = ""): - """剑三 奇遇统计 奇遇名称 服务器""" - try: - data= await self.jx3fun.qiyu(adventureName,self.serverdefault(server)) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_qiyugonglue(self, event: AstrMessageEvent,name: str): - """剑三 奇遇攻略 奇遇名称""" - try: - data= await self.jx3fun.qiyugonglue(name) - if data["code"] == 200: - url = await self.html_render(data["temp"], {}, options={}) - chain = [ - Comp.Plain(f"{data['data']} \n"), - Comp.Image.fromURL(f"{url}") - ] - yield event.chain_result(chain) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_jinjia(self, event: AstrMessageEvent,server: str = "", limit:str = "15"): - """剑三 金价 服务器""" - try: - data= await self.jx3fun.jinjia( self.serverdefault(server),limit) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_wujia(self, event: AstrMessageEvent,Name: str = "秃盒", server: str = ""): - """剑三 物价 外观名称""" - try: - data=await self.jx3fun.wujia(Name, self.serverdefault(server)) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_jiaoyihang(self, event: AstrMessageEvent,Name: str = "守缺式",server: str = ""): - """剑三 交易行 物品名称 服务器""" - try: - data=await self.jx3fun.jiaoyihang(Name, self.serverdefault(server)) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_jueshemingpian(self, event: AstrMessageEvent, name: str = "飞翔大野猪", server: str = ""): - """剑三 名片 角色 服务器""" - try: - data= await self.jx3fun.jueshemingpian( self.serverdefault(server),name) - if data["code"] == 200: - chain = [ - Comp.Plain(f"{data['data']['serverName']}--{data['data']['roleName']} \n"), - Comp.Image.fromURL(f"{data['data']['showAvatar']}") - ] - yield event.chain_result(chain) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_shuijimingpian(self, event: AstrMessageEvent,force: str = "万花", body: str = "萝莉", server: str = ""): - """剑三 随机名片 职业 体型 服务器""" - try: - data= await self.jx3fun.shuijimingpian(force,body, self.serverdefault(server)) - if data["code"] == 200: - chain = [ - - Comp.Plain(f"{data['data']['serverName']}--{data['data']['roleName']} \n"), - Comp.Image.fromURL(f"{data['data']['showAvatar']}"), - Comp.Plain(f"{force}--{body} \n") - ] - yield event.chain_result(chain) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_yanhuachaxun(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""): - """剑三 烟花 角色 服务器""" - try: - data= await self.jx3fun.yanhuachaxun( self.serverdefault(server),name) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_dilujilu(self, event: AstrMessageEvent,server: str = ""): - """剑三 的卢 服务器""" - try: - data= await self.jx3fun.dilujilu( self.serverdefault(server)) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_tuanduizhaomu(self, event: AstrMessageEvent,keyword: str = "25人普通会战弓月城", server: str = ""): - """剑三 招募 副本 服务器""" - try: - data= await self.jx3fun.tuanduizhaomu( self.serverdefault(server),keyword) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_zhanji(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = "", mode:str = "33"): - """剑三 战绩 角色 服务器 类型""" - try: - data= await self.jx3fun.zhanji(name, self.serverdefault(server),mode) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_qiyu(self, event: AstrMessageEvent,name: str = "飞翔大野猪", server: str = ""): - """剑三 奇遇 角色名称 服务器""" - try: - data= await self.jx3fun.juesheqiyu(name, self.serverdefault(server)) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_zhengyingpaimai(self, event: AstrMessageEvent,name: str = "玄晶", server: str = ""): - """剑三 阵营拍卖 物品名称 服务器""" - try: - data= await self.jx3fun.zhengyingpaimai( self.serverdefault(server), name) - if data["code"] == 200: - url = await self.html_render(data["temp"], data["data"], options={}) - yield event.image_result(url) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_fuyaojjiutian(self, event: AstrMessageEvent,server: str = ""): - """剑三 扶摇九天 服务器""" - try: - data= await self.jx3fun.fuyaojjiutian( self.serverdefault(server)) - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_shuma(self, event: AstrMessageEvent,server: str = ""): - """剑三 刷马 服务器""" - try: - data= await self.jx3fun.shuma( self.serverdefault(server)) - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_pianzhi(self, event: AstrMessageEvent,qq: str): - """剑三 骗子 QQ""" - try: - data= await self.jx3fun.pianzhi(qq) - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_bagua(self, event: AstrMessageEvent,type: str): - """剑三 八卦 类型""" - try: - data= await self.jx3fun.bagua(type) - if data["code"] == 200: - yield event.plain_result(data["data"]) - else: - yield event.plain_result(data["msg"]) - return - except Exception as e: - logger.error(f"功能函数执行错误: {e}") - yield event.plain_result("猪脑过载,请稍后再试") - - - async def jx3_kaifhujiank(self, event: AstrMessageEvent): - """剑三 开服监控""" - return_msg = await self.at.get_task_info("kfjk") - yield event.plain_result(return_msg) - - - async def jx3_xinwenzhixun(self, event: AstrMessageEvent): - """剑三 新闻推送""" - return_msg = await self.at.get_task_info("xwzx") - yield event.plain_result(return_msg) - - - async def jx3_shuamamsg(self, event: AstrMessageEvent): - """剑三 刷马推送""" - return_msg = await self.at.get_task_info("smxx") - yield event.plain_result(return_msg) - - - async def jx3_chitusg(self, event: AstrMessageEvent): - """剑三 赤兔推送""" - return_msg = await self.at.get_task_info("ctxx") - yield event.plain_result(return_msg)