mirror of
https://github.com/ctrlcvs/xiaoyao-cvs-plugin.git
synced 2024-12-22 19:10:53 +08:00
新增七圣召唤动态指令 例:#七圣刻晴动态
This commit is contained in:
parent
16d9f7d19c
commit
b998e12a68
@ -1,7 +1,7 @@
|
||||
import lodash from "lodash";
|
||||
import schedule from "node-schedule";
|
||||
import {
|
||||
AtlasAlias
|
||||
AtlasAlias,getBasicVoide
|
||||
} from "./xiaoyao_image.js";
|
||||
import {
|
||||
versionInfo,
|
||||
@ -20,7 +20,7 @@ import {
|
||||
import {
|
||||
rule as adminRule,
|
||||
updateRes,
|
||||
sysCfg,updateTemp,
|
||||
sysCfg, updateTemp,
|
||||
updateMiaoPlugin
|
||||
} from "./admin.js";
|
||||
import {
|
||||
@ -29,8 +29,8 @@ import {
|
||||
updCookie,
|
||||
userInfo,
|
||||
gclog,
|
||||
mytoken,gcPaylog,
|
||||
bindStoken,bindLogin_ticket,
|
||||
mytoken, gcPaylog,
|
||||
bindStoken, bindLogin_ticket,
|
||||
cloudToken
|
||||
} from "./user.js"
|
||||
import {
|
||||
@ -44,13 +44,13 @@ import {
|
||||
} from "./sign.js"
|
||||
|
||||
export {
|
||||
updateRes,updateTemp,
|
||||
delSign,gcPaylog,
|
||||
updateRes, updateTemp,
|
||||
delSign, gcPaylog,
|
||||
cloudSign,
|
||||
seach,bindLogin_ticket,
|
||||
seach, bindLogin_ticket,
|
||||
bbsSign,
|
||||
gclog,
|
||||
mytoken,
|
||||
mytoken, getBasicVoide,
|
||||
bindStoken,
|
||||
updateMiaoPlugin,
|
||||
userInfo,
|
||||
@ -106,6 +106,10 @@ let rule = {
|
||||
reg: "#poke#",
|
||||
describe: "体力",
|
||||
},
|
||||
getBasicVoide: {
|
||||
reg: '#?(动态)',
|
||||
describe: "动态",
|
||||
},
|
||||
...userRule,
|
||||
...signRule,
|
||||
...adminRule
|
||||
@ -121,22 +125,22 @@ task();
|
||||
async function task() {
|
||||
if (typeof test != "undefined") return;
|
||||
let set = gsCfg.getfileYaml(`${_path}/plugins/xiaoyao-cvs-plugin/config/`, "config")
|
||||
schedule.scheduleJob(set.mysBbsTime, function() {
|
||||
schedule.scheduleJob(set.mysBbsTime, function () {
|
||||
if (set.ismysSign) {
|
||||
signTask('bbs')
|
||||
}
|
||||
});
|
||||
schedule.scheduleJob(set.allSignTime, function() {
|
||||
schedule.scheduleJob(set.allSignTime, function () {
|
||||
if (set.isSign) {
|
||||
signTask('mys')
|
||||
}
|
||||
});
|
||||
schedule.scheduleJob(set.cloudSignTime, function() {
|
||||
schedule.scheduleJob(set.cloudSignTime, function () {
|
||||
if (set.isCloudSign) {
|
||||
signTask('cloud')
|
||||
}
|
||||
});
|
||||
schedule.scheduleJob(set.noteTask, function() {
|
||||
schedule.scheduleJob(set.noteTask, function () {
|
||||
if (set.isNoteTask) {
|
||||
DailyNoteTask()
|
||||
}
|
||||
|
@ -34,9 +34,49 @@ export async function AtlasAlias(e) {
|
||||
return send_Msg(e, "all", "");
|
||||
}
|
||||
|
||||
|
||||
/** 获取角色卡片的原图 */
|
||||
export async function getBasicVoide(e) {
|
||||
if (!e.hasReply && !e.source) {
|
||||
return true
|
||||
}
|
||||
// 引用的消息不是自己的消息
|
||||
if (e.source.user_id !== e.self_id) {
|
||||
return true
|
||||
}
|
||||
// 引用的消息不是纯图片
|
||||
if (!/^\[图片]$/.test(e.source.message)) {
|
||||
return true
|
||||
}
|
||||
// 获取原消息
|
||||
let source
|
||||
if (e.isGroup) {
|
||||
source = (await e.group.getChatHistory(e.source.seq, 1)).pop()
|
||||
} else {
|
||||
source = (await e.friend.getChatHistory(e.source.time, 1)).pop()
|
||||
}
|
||||
if (source) {
|
||||
let imgPath = await redis.get(`xiaoyao:basic:${source.message_id}`)
|
||||
console.log(imgPath)
|
||||
if (imgPath) {
|
||||
e.reply([segment.video(`file:///${imgPath}`)])
|
||||
return true
|
||||
}
|
||||
if (source.time) {
|
||||
let time = new Date()
|
||||
// 对at错图像的增加嘲讽...
|
||||
if (time / 1000 - source.time < 3600) {
|
||||
e.reply([segment.image(process.cwd() + '/plugins/miao-plugin/resources/common/face/what.jpg')])
|
||||
return true
|
||||
}
|
||||
}
|
||||
}
|
||||
e.reply('消息太过久远了,俺也忘了动态是啥了,下次早点来吧~')
|
||||
return true
|
||||
}
|
||||
export async function roleInfo(e) {
|
||||
let msg = e.msg.replace(/#|#|信息|图鉴|命座|天赋|原牌|七圣/g, "");
|
||||
let Botcfg,id,type='juese_tujian';
|
||||
let msg = e.msg.replace(/#|#|信息|图鉴|命座|天赋|原牌|七圣|动态/g, "");
|
||||
let Botcfg, id, type = 'juese_tujian';
|
||||
if (isV3) {
|
||||
Botcfg = (await import(`file://${_path}/plugins/genshin/model/gsCfg.js`)).default;
|
||||
id = Botcfg.roleNameToID(msg)
|
||||
@ -54,27 +94,27 @@ export async function roleInfo(e) {
|
||||
} else {
|
||||
name = Botcfg.roleIdToName(id, true);
|
||||
}
|
||||
if(/原牌|七圣/.test(e.msg)) {
|
||||
if(!name){
|
||||
let list = gsCfg.getfileYaml(`${_path}/plugins/xiaoyao-cvs-plugin/resources/Atlas_alias/`,'yuanmo_tujian')
|
||||
name= info_img(e,list,msg)
|
||||
if (/原牌|七圣/.test(e.msg)) {
|
||||
if (!name) {
|
||||
let list = gsCfg.getfileYaml(`${_path}/plugins/xiaoyao-cvs-plugin/resources/Atlas_alias/`, 'yuanmo_tujian')
|
||||
name = info_img(e, list, msg)
|
||||
}
|
||||
type=`basicInfo_tujian/role/${name}`
|
||||
type = `basicInfo_tujian/role/${name}`
|
||||
}
|
||||
if (!name) return false;
|
||||
send_Msg(e, type, name)
|
||||
return true;
|
||||
}
|
||||
|
||||
const filePath = async function(e) {
|
||||
const filePath = async function (e) {
|
||||
let data = list;
|
||||
data.push("juese_tujian")
|
||||
for (let [index, val] of data.entries()) {
|
||||
let msg=e.msg;
|
||||
if(index!=data.length-1){
|
||||
msg=e.msg.replace(new RegExp(reglist[index], "g"), "");
|
||||
}else {
|
||||
msg=e.msg.replace(/#|#|信息|图鉴|命座|天赋/g, "");
|
||||
let msg = e.msg;
|
||||
if (index != data.length - 1) {
|
||||
msg = e.msg.replace(new RegExp(reglist[index], "g"), "");
|
||||
} else {
|
||||
msg = e.msg.replace(/#|#|信息|图鉴|命座|天赋/g, "");
|
||||
}
|
||||
let path = `${pathPlus}${val}/${msg}.png`
|
||||
if (fs.existsSync(path)) {
|
||||
@ -84,12 +124,12 @@ const filePath = async function(e) {
|
||||
}
|
||||
}
|
||||
|
||||
const send_Msg = function(e, type, name) {
|
||||
const send_Msg = async function (e, type, name) {
|
||||
let path;
|
||||
if (type == "all") {
|
||||
for (let [index, val] of list.entries()) {
|
||||
name = e.msg.replace(new RegExp(reglist[index], "g"), "");
|
||||
if(val.includes('juese_tujian')) continue;
|
||||
if (val.includes('juese_tujian')) continue;
|
||||
let new_name = info_img(e, gsCfg.getfileYaml(`${_path}/plugins/xiaoyao-cvs-plugin/resources/Atlas_alias/`,
|
||||
val), name)
|
||||
if (new_name) {
|
||||
@ -103,17 +143,25 @@ const send_Msg = function(e, type, name) {
|
||||
if (!fs.existsSync(path)) {
|
||||
return false;
|
||||
}
|
||||
e.reply(segment.image(`file:///${path}`));
|
||||
let msg = segment.image(`file:///${path}`)
|
||||
try {
|
||||
if (/动态/.test(e.msg)) msg = segment.video(`file:///${path.replace(/\.png|\.jpg/, '.mp4')}`)
|
||||
} catch (error) {
|
||||
Bot.logger.error(`发送七圣动态数据失败:` + error)
|
||||
// error
|
||||
}
|
||||
let { message_id } = await e.reply(msg);
|
||||
await redis.set(`xiaoyao:basic:${message_id}`, path.replace(/\.png|\.jpg/, '.mp4'), 10800); //三小时
|
||||
return true;
|
||||
}
|
||||
export async function Atlas_list(e) {
|
||||
let list = gsCfg.getfileYaml(`${_path}/plugins/xiaoyao-cvs-plugin/resources/Atlas_alias/`,'Atlas_list')
|
||||
let list = gsCfg.getfileYaml(`${_path}/plugins/xiaoyao-cvs-plugin/resources/Atlas_alias/`, 'Atlas_list')
|
||||
let name = e.msg.replace(/#|井/g, "")
|
||||
for (let i in list) {
|
||||
let title = i.split("|");
|
||||
for (let j = 0; j < title.length; j++) {
|
||||
if (title[j] == name) {
|
||||
await utils.replyMake(e, [`当前选择【${name}】`,"请选择:\n" + list[i].join("\n")], 0)
|
||||
await utils.replyMake(e, [`当前选择【${name}】`, "请选择:\n" + list[i].join("\n")], 0)
|
||||
return true;
|
||||
}
|
||||
}
|
||||
@ -121,7 +169,7 @@ export async function Atlas_list(e) {
|
||||
return false;
|
||||
}
|
||||
|
||||
const info_img = function(e, list, name) {
|
||||
const info_img = function (e, list, name) {
|
||||
for (let i in list) {
|
||||
for (let val of list[i]) {
|
||||
if (val == name || i == name) {
|
||||
|
Loading…
Reference in New Issue
Block a user