Files
astrbot_plugin_jx3/core/message.py
T

712 lines
32 KiB
Python

from astrbot.core import html_renderer
from astrbot.api import logger
from astrbot.api.event import AstrMessageEvent, MessageChain
from astrbot.core.utils.session_waiter import (
SessionController,
session_waiter,
)
from .jx3api_data import JX3APIService
from .jx3box_data import JX3BOXService
from .event_push import EventPushService
from .bilei_data import BiLeidata
class MessageBuilder:
"""回复消息构建"""
ZILI_MENU_TEXT = (
"请选择资历查询类型:\n"
"0:资历总览\n"
"1:杂闻总览\n"
"2:武学总览\n"
"3:修为总览\n"
"4:装备总览\n"
"5:技艺总览\n"
"6:阅读总览\n"
"7:任务总览\n"
"8:足迹总览\n"
"9:战斗总览\n"
"10:声望总览\n"
"11:秘境总览\n"
"12:帮会总览\n"
"13:阵营总览\n"
"14:节日总览\n"
"15:活动总览\n"
"16:风雨江湖路总览\n"
"17:家园总览\n"
"18:剑侠录总览"
)
def __init__(self,
server: str,
jx3api: JX3APIService,
jx3box: JX3BOXService,
bilei: BiLeidata,
event_push: EventPushService,
icons: dict[str, dict[str, str]]
):
self.server = server
self.jx3api = jx3api
self.jx3box = jx3box
self.bilei = bilei
self.event_push = event_push
self.icons = icons
async def html_render(
self,
tmpl: str,
data: dict,
return_url=True,
options: dict | None = None,
) -> str:
"""渲染 HTML"""
return await html_renderer.render_custom_template(
tmpl,
data,
return_url=return_url,
options=options,
)
def serverdefault(self,server) -> str:
"""加载配置默认服务器"""
if server == "":
return self.server
return server
async def plain_msg(self, event: AstrMessageEvent, action):
"""最终将数据整理成文本发送"""
data= await action()
try:
if data["code"] == 200:
await event.send( event.plain_result(data["data"]))
else:
await event.send(event.plain_result(data["msg"]))
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
await event.send(event.plain_result("猪脑过载,请稍后再试"))
async def T2I_image_msg(self, event: AstrMessageEvent, action):
"""最终将数据渲染成图片发送"""
data = await action()
try:
if data["code"] == 200:
options = {
"quality": 100,
"device_scale_factor_level": "normal",
"full_page": True,
"omit_background": False,
"type": "jpeg"
}
data["data"]["icons"] = self.icons
url = await self.html_render(data["temp"], data["data"], options=options)
await event.send(event.image_result(url))
else:
await event.send(event.plain_result(data["msg"]))
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
await event.send(event.plain_result("猪脑过载,请稍后再试"))
async def image_msg(self, event: AstrMessageEvent, action):
"""最终将数据整理成图片发送"""
data = await action()
try:
if data["code"] == 200:
await event.send(event.image_result(data["data"]))
else:
await event.send(event.plain_result(data["msg"]))
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
await event.send(event.plain_result("猪脑过载,请稍后再试"))
async def plain_chain(self, event: AstrMessageEvent, action):
"""富媒体消息"""
data= await action()
try:
if data["code"] == 200:
await event.send(event.chain_result(data["data"]))
else:
await event.send(event.plain_result(data["msg"]))
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
await event.send(event.plain_result("猪脑过载,请稍后再试"))
async def handler_plain_image_msg(self, event: AstrMessageEvent, action1, action2):
"""两轮会话消息发送通用,先文本列表等反馈序号在发送图片"""
# 会话触发
try:
# 获取一轮数据
data = await action1()
if data["code"] == 200:
# 发送一轮消息
await event.send(event.plain_result(data["msg"]))
# 获取触发用户ID
user_id = event.get_sender_id()
# 二轮会话流程
@session_waiter(timeout=30)
async def macro_select_waiter(controller: SessionController,new_event: AstrMessageEvent):
# 跳过非触发用户消息
if new_event.get_sender_id() != user_id:
return
# 获取用户消息
msg = new_event.get_message_str().strip()
# 判断消息是否为数字
if not msg.isdigit():
await new_event.send(
MessageChain().message("输入异常,结束会话")
)
controller.stop()
return
# 判断数字是否在有效值内
num = int(msg)
if num < 1 or num > data["data"]["num"]:
await new_event.send(
MessageChain().message("无效序号,结束会话")
)
controller.stop()
return
# 获取二轮数据
try:
data1 = await action2(data["data"]["list"][num])
if data1["code"] != 200:
await new_event.send(
MessageChain().message("获取详细数据失败")
)
controller.stop()
return
# 消息拼接发送
chain = MessageChain()
msg_text = data1["data"]
chain.message(msg_text)
if data1["temp"] != "":
url = await self.html_render(data1["temp"], {}, options={})
chain.url_image(url)
await new_event.send(chain)
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
await new_event.send(
MessageChain().message("猪脑过载,请稍后再试")
)
controller.stop()
# 二轮会话激活
try:
await macro_select_waiter(event)
except TimeoutError:
await event.send(event.plain_result("选择超时,已结束会话"))
except Exception:
logger.error("选择发生异常", exc_info=True)
else:
await event.send(event.plain_result(f"未搜索到相关内容"))
return
except Exception as e:
logger.error(f"功能函数执行错误: {e}")
await event.send(event.plain_result("猪脑过载,请稍后再试"))
async def handler_zili_msg(self, event: AstrMessageEvent, name: str, server: str):
"""资历查询专用两轮会话,第一轮文本菜单,第二轮图片"""
try:
await event.send(event.plain_result(self.ZILI_MENU_TEXT))
user_id = event.get_sender_id()
@session_waiter(timeout=30)
async def zili_select_waiter(controller: SessionController, new_event: AstrMessageEvent):
if new_event.get_sender_id() != user_id:
return
msg = new_event.get_message_str().strip()
if not msg.isdigit():
await new_event.send(MessageChain().message("输入异常,结束会话"))
controller.stop()
return
choice = int(msg)
if choice < 0 or choice > 18:
await new_event.send(MessageChain().message("无效序号,结束会话"))
controller.stop()
return
try:
data = await self.jx3box.zili(name, server, choice)
if data["code"] != 200:
await new_event.send(MessageChain().message(data.get("msg", "获取资历数据失败")))
controller.stop()
return
options = {
"quality": 100,
"device_scale_factor_level": "normal",
"full_page": True,
"omit_background": False,
"type": "jpeg"
}
data["data"]["icons"] = self.icons
url = await self.html_render(data["temp"], data["data"], options=options)
await new_event.send(new_event.image_result(url))
except Exception as e:
logger.error(f"资历查询执行错误: {e}")
await new_event.send(MessageChain().message("猪脑过载,请稍后再试"))
controller.stop()
try:
await zili_select_waiter(event)
except TimeoutError:
await event.send(event.plain_result("选择超时,已结束会话"))
except Exception:
logger.error("资历选择发生异常", exc_info=True)
except Exception as e:
logger.error(f"资历会话执行错误: {e}")
await event.send(event.plain_result("猪脑过载,请稍后再试"))
async def helps(self, event: AstrMessageEvent):
""" 功能"""
return await self.T2I_image_msg(event, self.jx3api.helps)
async def richang(self, event: AstrMessageEvent, num: int = 0):
""" 日常 天数"""
return await self.plain_msg(event, lambda: self.jx3api.richang("day",num))
async def richangyuche(self, event: AstrMessageEvent):
""" 日常预测"""
return await self.T2I_image_msg(event, lambda: self.jx3api.richang("list",15))
async def qiongyewei(self, event: AstrMessageEvent):
""" 穹野卫"""
return await self.T2I_image_msg(event, lambda: self.jx3api.xingxiashijian("穹野卫"))
async def pifenghui(self, event: AstrMessageEvent):
""" 披风会"""
return await self.T2I_image_msg(event, lambda: self.jx3api.xingxiashijian("披风会"))
async def yunchongshe(self, event: AstrMessageEvent):
""" 云从社"""
return await self.T2I_image_msg(event, lambda: self.jx3api.xingxiashijian("云从社"))
async def chutianshe(self, event: AstrMessageEvent):
""" 楚天社 """
return await self.T2I_image_msg(event, lambda: self.jx3api.xingxiashijian("楚天社"))
async def guanaishouling(self, event: AstrMessageEvent):
""" 关隘首领"""
return await self.T2I_image_msg(event, self.jx3api.guanaishouling)
async def benrichitu(self, event: AstrMessageEvent):
""" 本日赤兔"""
return await self.plain_msg(event, self.jx3api.benrichitu)
async def benzhouchitu(self, event: AstrMessageEvent):
""" 本周赤兔"""
return await self.plain_msg(event, self.jx3api.benzhouchitu)
async def zhenyingevent(self, event: AstrMessageEvent, name:str = ""):
""" 阵营事件 阵营"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhenyingevent(name,50))
async def yanhuachaxun(self, event: AstrMessageEvent,server: str = "",name: str = "" ):
""" 烟花 服务器 角色"""
return await self.T2I_image_msg(event, lambda: self.jx3api.yanhuachaxun( self.serverdefault(server),name))
async def shuma(self, event: AstrMessageEvent,server: str ):
""" 刷马 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.shuma(server))
async def machang(self, event: AstrMessageEvent,server: str ):
""" 马场 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.machang(server,1))
async def zhanji(self, event: AstrMessageEvent, server: str ,name: str , mode:str = "33"):
""" 战绩 服务器 角色 模式"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhanji(name, server,mode))
async def mingjianpaihang(self, event: AstrMessageEvent, mode:str = "33",limit: int = 50):
""" 名剑排行 模式 数量 """
return await self.T2I_image_msg(event, lambda: self.jx3api.mingjianpaihang(limit,mode))
async def mingjiantongji(self, event: AstrMessageEvent,mode: str = "33"):
""" 名剑统计 模式"""
return await self.T2I_image_msg(event, lambda: self.jx3api.mingjiantongji(mode))
async def mingshiwushiqiang(self, event: AstrMessageEvent, server: str):
""" 名士五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("名士五十强", server))
async def laojianghuwushiqiang(self, event: AstrMessageEvent, server: str):
""" 老江湖五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("老江湖五十强", server))
async def bingjiacangjiawushiqiang(self, event: AstrMessageEvent, server: str):
""" 兵甲藏家五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("兵甲藏家五十强", server))
async def mingshiwushiqiang_mentor(self, event: AstrMessageEvent, server: str):
""" 名师五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("名师五十强", server))
async def zhengyingyingxiongwushiqiang(self, event: AstrMessageEvent, server: str):
""" 阵营英雄五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("阵营英雄五十强", server))
async def xinhuoxiangchuanwushiqiang(self, event: AstrMessageEvent, server: str):
""" 薪火相传五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("薪火相传五十强", server))
async def luyuanguangjiyibaiqiang(self, event: AstrMessageEvent, server: str):
""" 庐园广记一百强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("庐园广记一百强", server))
async def haoqishenbingbaojiawushiqiang(self, event: AstrMessageEvent, server: str):
""" 浩气神兵宝甲五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("浩气神兵宝甲五十强", server))
async def erenshenbingbaojiawushiqiang(self, event: AstrMessageEvent, server: str ):
""" 恶人神兵宝甲五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("恶人神兵宝甲五十强", server))
async def haoqiaixinbanghuiwushiqiang(self, event: AstrMessageEvent, server: str ):
""" 浩气爱心帮会五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("浩气爱心帮会五十强", server))
async def erenaixinbanghuiwushiqiang(self, event: AstrMessageEvent, server: str ):
""" 恶人爱心帮会五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("恶人爱心帮会五十强", server))
async def saijierenwushiqiang(self, event: AstrMessageEvent, server: str):
""" 赛季恶人五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("赛季恶人五十强", server))
async def saijihaoqiwushiqiang(self, event: AstrMessageEvent, server: str ):
""" 赛季浩气五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("赛季浩气五十强", server))
async def shangzhouerenwushiqiang(self, event: AstrMessageEvent, server: str ):
""" 上周恶人五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("上周恶人五十强", server))
async def shangzhouhaoqiwushiqiang(self, event: AstrMessageEvent, server: str ):
""" 上周浩气五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("上周浩气五十强", server))
async def benzhouerenwushiqiang(self, event: AstrMessageEvent, server: str ):
""" 本周恶人五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("本周恶人五十强", server))
async def benzhouhaoqiwushiqiang(self, event: AstrMessageEvent, server: str ):
""" 本周浩气五十强 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.rank_statistical("本周浩气五十强", server))
async def shilianpaixing(self, event: AstrMessageEvent, server: str , name: str):
""" 试炼排行 服务器 心法 """
return await self.T2I_image_msg(event, lambda: self.jx3api.shilianpaixing(name, server))
async def zhengyingpaimai(self, event: AstrMessageEvent,server: str , name: str = "", limit: int = 50 ):
""" 阵营拍卖 物品名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhengyingpaimai(server, name, limit))
async def dilujilu(self, event: AstrMessageEvent,server: str ):
""" 的卢 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.dilujilu(server))
async def jinjia(self, event: AstrMessageEvent,server: str , limit:str = "15"):
""" 金价 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.jinjia( server,limit))
async def wujia(self, event: AstrMessageEvent,Name: str , server: str = ""):
""" 物价 外观名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.wujia(Name, server))
async def chengbeng(self, event: AstrMessageEvent, server: str ,Name: str ,source : int = 0):
""" 成本 服务器 物品名称 """
return await self.T2I_image_msg(event, lambda: self.jx3api.chengbeng(Name, server,source))
async def kanhao(self, event: AstrMessageEvent,id: str):
""" 看号 万宝楼编号 """
return await self.plain_msg(event, lambda: self.jx3api.bianhao(id))
async def bangzhanjilu(self, event: AstrMessageEvent, server: str):
""" 帮战 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.bangzhanjilu(server))
async def shapan(self, event: AstrMessageEvent,server: str = ""):
""" 沙盘 服务器"""
server = self.serverdefault(server)
return await self.T2I_image_msg(event, lambda: self.jx3api.shapan(server))
async def zhueevent(self, event: AstrMessageEvent, server: str):
""" 诛恶事件 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhueevent(server,20))
async def jueshemingpian(self, event: AstrMessageEvent, server: str , name: str , ):
""" 名片 服务器 角色 """
return await self.plain_chain(event, lambda: self.jx3api.jueshemingpian(server, name))
async def shuoyoumingpian(self, event: AstrMessageEvent, server: str, name: str, ):
""" 全名片 服务器 角色 """
return await self.plain_chain(event, lambda: self.jx3api.shuoyoumingpian(server,name))
async def shuijimingpian(self, event: AstrMessageEvent,server: str, force: str = "", body: str = "", ):
""" 随机秀 服务器 门派 体型 """
return await self.plain_chain(event, lambda: self.jx3api.shuijimingpian(server,force,body))
async def qiyuhuizong(self, event: AstrMessageEvent,server: str, num: str = "7" ):
""" 汇总 服务器 天数 """
return await self.T2I_image_msg(event, lambda: self.jx3api.qiyuhuizong(server, num))
async def weizuoqiyu(self, event: AstrMessageEvent,server: str, name: str, ):
""" 未出 服务器 角色 """
return await self.T2I_image_msg(event, lambda: self.jx3api.weizuoqiyu(server,name))
async def jinqiqiyu(self, event: AstrMessageEvent,server: str, limit: int = 20):
""" 近期 服务器 数量"""
return await self.T2I_image_msg(event, lambda: self.jx3api.jinqiqiyu(server,limit))
async def juesheqiyu(self, event: AstrMessageEvent, server: str, name: str):
""" 奇遇 服务器 角色 """
return await self.T2I_image_msg(event, lambda: self.jx3api.juesheqiyu(server,name, 0))
async def qiyutongji(self, event: AstrMessageEvent,adventureName: str, server: str = "",limit: int = 20):
""" 统计 奇遇 服务器 数量"""
return await self.T2I_image_msg(event, lambda: self.jx3api.qiyutongji(adventureName,server,limit))
async def qiyugonglue(self, event: AstrMessageEvent,name: str):
""" 攻略 奇遇"""
return await self.T2I_image_msg(event, lambda: self.jx3box.qiyugonglue(name))
async def jingnai(self, event: AstrMessageEvent, server: str, name: str):
""" 精耐 服务器 角色 """
return await self.T2I_image_msg(event, lambda: self.jx3api.jingnai(name, server))
async def baizhan(self, event: AstrMessageEvent):
""" 百战"""
return await self.T2I_image_msg(event, self.jx3api.baizhan)
async def chengjiu(self, event: AstrMessageEvent, server:str, role:str, name:str):
""" 成就 服务器 角色 成就"""
return await self.T2I_image_msg(event, lambda: self.jx3api.chengjiuchaxun(server,role,name))
async def jueshe(self, event: AstrMessageEvent,server: str, name: str):
""" 角色 服务器 名称 """
return await self.plain_msg(event, lambda: self.jx3api.jueshe(server, name, 1))
async def zhenyan(self, event: AstrMessageEvent, name: str):
""" 阵眼 心法"""
return await self.plain_msg(event, lambda: self.jx3api.zhenyan(name))
async def peizhuang(self, event: AstrMessageEvent,name: str, tags: str = ""):
""" 配装 心法 类型"""
return await self.plain_msg(event, lambda: self.jx3box.peizhuang(name,tags))
async def zilipaixing(self, event: AstrMessageEvent, server: str = "", school: str = ""):
""" 资历排行 服务器 门派 """
return await self.T2I_image_msg(event, lambda: self.jx3api.zilipaixing(server, school))
async def jineng(self, event: AstrMessageEvent, name: str):
""" 技能 心法"""
return await self.T2I_image_msg(event, lambda: self.jx3api.jineng(name,0))
async def qixue(self, event: AstrMessageEvent, name: str):
""" 奇穴 心法"""
return await self.T2I_image_msg(event, lambda: self.jx3api.qixue(name,0))
async def liaotian(self, event: AstrMessageEvent, server:str, name: str, limit:int = 20, page:int = 1):
""" 聊天 服务器 角色 条数 页数"""
return await self.T2I_image_msg(event, lambda: self.jx3api.juesheliaotian(server,name,limit,page))
async def tongzhanyy(self, event: AstrMessageEvent, server: str = ""):
""" 统战 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.tongzhanyy(server))
async def xiaoyao(self, event: AstrMessageEvent, name:str = ""):
""" 小药 心法"""
return await self.T2I_image_msg(event, lambda: self.jx3api.xiaoyao(name))
async def pianzhi(self, event: AstrMessageEvent, uid: str, server:str = ""):
""" 骗子 uid 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.pianzhi(server,uid))
async def huajia(self, event: AstrMessageEvent, server: str, name: str= "" , map: str= ""):
""" 花价 服务器 名称 地图"""
return await self.T2I_image_msg(event, lambda: self.jx3api.huajia(server,name,map))
async def zhuangshi(self, event: AstrMessageEvent, name: str):
""" 装饰 名称"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhuangshi(name))
async def qiwu(self, event: AstrMessageEvent, name: str):
""" 器物 地图名称"""
return await self.T2I_image_msg(event, lambda: self.jx3api.qiwu(name))
async def baishi(self, event: AstrMessageEvent, server: str, keyword: str = ""):
""" 拜师 服务器 关键词 """
return await self.T2I_image_msg(event, lambda: self.jx3api.shitu(2, server, keyword, 50))
async def shoutu(self, event: AstrMessageEvent, server: str, keyword: str = ""):
""" 收徒 服务器 关键词 """
return await self.T2I_image_msg(event, lambda: self.jx3api.shitu(1, server, keyword, 50))
async def weihu(self, event: AstrMessageEvent,limit:int = 5):
""" 维护 数量"""
return await self.plain_msg(event, lambda: self.jx3api.weihu(limit))
async def xinwen(self, event: AstrMessageEvent,limit:int = 5):
""" 新闻 数量"""
return await self.plain_msg(event, lambda: self.jx3api.xinwen(limit))
async def tuanduizhaomu(self, event: AstrMessageEvent,server: str, keyword: str = ""):
""" 招募 服务器 副本"""
return await self.T2I_image_msg(event, lambda: self.jx3api.tuanduizhaomu( server,1,keyword,50))
async def tuanzhang(self, event: AstrMessageEvent,server: str, keyword: str = ""):
""" 团长 服务器 名字"""
return await self.T2I_image_msg(event, lambda: self.jx3api.tuanduizhaomu( server,2,keyword,50))
async def tuanpai(self, event: AstrMessageEvent,server: str, keyword: str = ""):
""" 团牌 服务器 内容"""
return await self.T2I_image_msg(event, lambda: self.jx3api.tuanduizhaomu( server,3,keyword,50))
async def daanzhishu(self, event: AstrMessageEvent):
""" 答案之书"""
return await self.plain_msg(event, self.jx3api.daanzhishu)
async def tiangou(self, event: AstrMessageEvent):
""" 舔狗语录"""
return await self.plain_msg(event, self.jx3api.tiangou)
async def fkxq4(self, event: AstrMessageEvent):
""" 疯狂星期四"""
return await self.plain_msg(event, lambda: self.jx3api.fengleiyulu("疯狂星期四"))
async def caihongpi(self, event: AstrMessageEvent):
""" 彩虹屁"""
return await self.plain_msg(event, lambda: self.jx3api.fengleiyulu("彩虹屁"))
async def dujitang(self, event: AstrMessageEvent):
""" 毒鸡汤"""
return await self.plain_msg(event, lambda: self.jx3api.fengleiyulu("毒鸡汤"))
async def pengyouquan(self, event: AstrMessageEvent):
""" 朋友圈"""
return await self.plain_msg(event, lambda: self.jx3api.fengleiyulu("朋友圈"))
async def heshengme(self, event: AstrMessageEvent,):
""" 喝什么"""
return await self.plain_msg(event, self.jx3api.heshengme)
async def chishengme(self, event: AstrMessageEvent,):
""" 吃什么"""
return await self.plain_msg(event, self.jx3api.chishengme)
async def shaohua(self, event: AstrMessageEvent,):
""" 骚话"""
return await self.plain_msg(event, self.jx3api.shaohua)
async def zhananyulu(self, event: AstrMessageEvent,):
""" 渣男语录"""
return await self.plain_msg(event, self.jx3api.zhananyulu)
async def tiebawujia(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "5", ):
""" 贴吧物价 名称 服务器 数量 """
return await self.plain_msg(event, lambda: self.jx3api.tiebawujia(name, server, limit))
async def bagua(self, event: AstrMessageEvent, server:str = "", limit:str = 10):
""" 818 """
return await self.plain_msg(event, lambda: self.jx3api.bagua(818,server,limit))
async def keju(self, event: AstrMessageEvent,subject: str, limit: int = 5):
""" 科举 题目 条数"""
return await self.plain_msg(event, lambda: self.jx3api.keju(subject,limit))
async def zhuangtai(self, event: AstrMessageEvent):
""" 区服"""
return await self.T2I_image_msg(event, lambda: self.jx3api.zhuangtai(""))
async def kaifu(self, event: AstrMessageEvent,server: str):
""" 开服 服务器"""
return await self.plain_msg(event, lambda: self.jx3api.kaifu(server))
async def jigai(self, event: AstrMessageEvent,):
""" 技改"""
return await self.plain_msg(event, self.jx3api.jigai)
async def jiemi(self, event: AstrMessageEvent):
""" 解密"""
return await self.plain_msg(event, self.jx3api.jiemi)
async def fubeng(self, event: AstrMessageEvent, server:str, name:str):
""" 副本"""
return await self.T2I_image_msg(event, lambda: self.jx3api.fubengjilu(server,name))
async def diaoluo(self, event: AstrMessageEvent, name: str, server: str = "", limit: str = "20",):
""" 掉落 物品 服务器 数量 """
return await self.T2I_image_msg(event, lambda: self.jx3api.diaoluo(name, server, limit))
async def hong(self, event: AstrMessageEvent,name: str):
""" 宏 心法"""
return await self.handler_plain_image_msg(event, lambda: self.jx3box.hong1(name), self.jx3box.hong2)
async def zili(self, event: AstrMessageEvent, server: str, name: str):
""" 资历 角色名称 服务器"""
return await self.handler_zili_msg(event, name, server)
async def jiaoyihang(self, event: AstrMessageEvent,server: str, Name: str):
""" 交易行 物品名称 服务器"""
return await self.T2I_image_msg(event, lambda: self.jx3box.jiaoyihang(Name,server))
async def bilei_add(self, event: AstrMessageEvent,name: str, text: str):
"""避雷添加 名称 备注"""
return await self.plain_msg(event, lambda: self.bilei.add(name,text,event.get_sender_name()))
async def bilei_all(self, event: AstrMessageEvent):
"""避雷查看"""
return await self.T2I_image_msg(event, self.bilei.all)
async def bilei_select(self, event: AstrMessageEvent, name:str):
"""避雷查询"""
return await self.T2I_image_msg(event, lambda: self.bilei.select(name))
async def bilei_update(self, event: AstrMessageEvent, id:int, name: str, text: str):
"""避雷修改 ID 名称 备注"""
return await self.plain_msg(event, lambda: self.bilei.update(id,name,text,event.get_sender_name()))
async def bilei_delete(self, event: AstrMessageEvent, id:int):
"""避雷删除 ID"""
return await self.plain_msg(event, lambda: self.bilei.delete(id))
async def shijian_tuisong(
self,
event: AstrMessageEvent,
first: str = "",
second: str = "",
):
"""管理当前会话的实时事件订阅。"""
return_msg = await self.event_push.configure(
event.unified_msg_origin,
first,
second,
)
await event.send(event.plain_result(return_msg))