mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-21 22:48:13 +00:00
1. 调整#角色详情 部分文案,以更好引导使用功能
2. #更新角色面板 命令增加CD,服务端CD同步添加 3. 修复一处可能误触老婆查询指令的问题
This commit is contained in:
parent
d8c039d6ca
commit
db525fdf65
@ -42,7 +42,7 @@ const relationMap = {
|
||||
}
|
||||
|
||||
const relation = lodash.flatMap(relationMap, (d) => d.keyword);
|
||||
export const wifeReg = `^#*\\s*(${relation.join("|")})\\s*(设置|选择|指定|列表|查询|列表|是|是谁|照片|相片|写真|图像)?\\s*([^\\d]*)\\s*(\\d*)$`;
|
||||
export const wifeReg = `^#\\s*(${relation.join("|")})\\s*(设置|选择|指定|列表|查询|列表|是|是谁|照片|相片|写真|图像)?\\s*([^\\d]*)\\s*(\\d*)$`;
|
||||
|
||||
export async function init(isUpdate = false) {
|
||||
let _path = "file://" + process.cwd();
|
||||
@ -421,7 +421,7 @@ export async function getProfile(e) {
|
||||
return true;
|
||||
}
|
||||
if (!data.chars) {
|
||||
e.reply("请求游戏信息失败,请确认角色已在游戏内橱窗展示,并开放了查看详情。设置完毕后请5分钟后再进行请求~");
|
||||
e.reply("获取角色面板数据失败,请确认角色已在游戏内橱窗展示,并开放了查看详情。设置完毕后请5分钟后再进行请求~");
|
||||
} else {
|
||||
let ret = [];
|
||||
lodash.forEach(data.chars, (ds) => {
|
||||
@ -431,9 +431,9 @@ export async function getProfile(e) {
|
||||
}
|
||||
})
|
||||
if (ret.length === 0) {
|
||||
e.reply("更新失败,未能请求到角色数据。请确认角色已在游戏内橱窗展示,并开放了查看详情。设置完毕后请5分钟后再进行请求~")
|
||||
e.reply("获取角色面板数据失败,未能请求到角色数据。请确认角色已在游戏内橱窗展示,并开放了查看详情。设置完毕后请5分钟后再进行请求~")
|
||||
} else {
|
||||
e.reply(`更新成功!本次更新角色: ${ret.join(",")}。你可以使用 #角色名+详情 来查看详细角色属性了`)
|
||||
e.reply(`获取角色面板数据成功!本次获取成功角色: ${ret.join(", ")} 。\n你可以使用 #角色名+面板 来查看详细角色面板属性了`)
|
||||
}
|
||||
}
|
||||
|
||||
@ -540,6 +540,12 @@ async function getAvatar(e, char, MysApi) {
|
||||
|
||||
|
||||
export async function renderProfile(e, char, render) {
|
||||
|
||||
if (['荧', '空', '主角', '旅行者'].includes(char.name)) {
|
||||
e.reply("暂不支持主角的面板信息查看");
|
||||
return true;
|
||||
}
|
||||
|
||||
let MysApi = await e.getMysApi({
|
||||
auth: "cookie",
|
||||
targetType: "self",
|
||||
@ -552,7 +558,7 @@ export async function renderProfile(e, char, render) {
|
||||
|
||||
let profile = Profile.get(uid, char.id);
|
||||
if (!profile) {
|
||||
e.reply(`尚无${char.name}的面板详情。请在将角色展示在【游戏内】的“角色展柜”中,并打开“显示角色详情”。设置完成5分钟后使用 #获取游戏角色详情 命令进行数据获取。`)
|
||||
e.reply(`请先发送 #获取游戏角色详情 命令获取 ${char.name} 的面板详情。\n请确认已将需要获取的8位角色展示在【游戏内】的“角色展柜”中,并已打开“显示角色详情”。如刚进行设置请等待5分钟后再进行使用,以免浪费请求次数。 `)
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -214,25 +214,32 @@ let Profile = {
|
||||
async request(uid, e) {
|
||||
let cfg = config.miaoApi || {};
|
||||
if (!cfg.api) {
|
||||
e.reply("尚未配置更新Api,无法更新数据~");
|
||||
e.reply("该功能为小范围非公开功能,需具备Token才可使用~");
|
||||
return false;
|
||||
}
|
||||
if (!cfg.qq || !cfg.token || cfg.token.length !== 32) {
|
||||
e.reply("Token错误,无法请求数据~");
|
||||
return false;
|
||||
}
|
||||
e.reply("开始获取角色展柜中展示的角色详情,请确认已经打开显示角色详情开关,数据获取可能会需要一定时间~");
|
||||
const api = `${cfg.api}?uid=${uid}&qq=${cfg.qq}&token=${cfg.token}`;
|
||||
console.log(api);
|
||||
let req = await fetch(api);
|
||||
let data = await req.json();
|
||||
//fs.writeFileSync(userPath + "/test.json", data);
|
||||
if (data.status !== 0 || !data.data) {
|
||||
e.reply(`请求错误:${data.msg || "未知错误"}`);
|
||||
let inCd = await redis.get(`miao:role-all:${uid}`);
|
||||
if (inCd === 'loading') {
|
||||
e.reply("请求过快,请稍后重试..");
|
||||
return false;
|
||||
} else if (inCd === 'pending') {
|
||||
e.reply("距上次请求刷新成功间隔小于10分钟,请稍后重试..");
|
||||
return false;
|
||||
}
|
||||
await redis.set(`miao:role-all:${uid}`, 'loading', { EX: 20 });
|
||||
e.reply("开始获取角色展柜中展示的角色详情,数据获取可能会需要一定时间~");
|
||||
const api = `${cfg.api}?uid=${uid}&qq=${cfg.qq}&token=${cfg.token}`;
|
||||
let req = await fetch(api);
|
||||
let data = await req.json();
|
||||
if (data.status !== 0 || !data.data) {
|
||||
e.reply(`请求失败:${data.msg || "未知错误"}`);
|
||||
return false;
|
||||
}
|
||||
await redis.set(`miao:role-all:${uid}`, 'pending', { EX: 600 });
|
||||
data = data.data;
|
||||
|
||||
let userData = {};
|
||||
if (data && data["角色名称"]) {
|
||||
userData = Profile.save(uid, data)
|
||||
|
Loading…
Reference in New Issue
Block a user