Miao-Yunzai/apps/calculator.ts

81 lines
2.2 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

import { plugin } from 'yunzai/core'
import Calculator from '../model/calculator.js'
import Blueprint from '../model/blueprint.js'
import { puppeteer } from 'yunzai/utils'
import { gsCfg } from 'yunzai/mys'
export class calculator extends plugin {
constructor() {
/**
*
name: '养成计算',
dsc: '角色养成材料计算器',
*/
super({
priority: 700,
rule: [
{
reg: '^#*(星铁)?(.*)(养成|计算)([0-9]|,|| )*$',
fnc: 'Calculator'
},
{
reg: '^#*(星铁)?角色(养成|计算|养成计算)$',
fnc: 'calculatorHelp'
},
{
reg: '^#*尘歌壶模数(养成|计算|养成计算)$',
fnc: 'blueprintHelp'
},
{
reg: '^#*尘歌壶(模数|养成|养成计算)(\\d{10,15})$',
fnc: 'Blueprint'
}
]
})
}
_path = process.cwd().replace(/\\/g, '/')
async blueprintHelp(e) {
let msg =
'#尘歌壶模数\n指令#尘歌壶模数\n示例#尘歌壶模数123456\n参数为模数id(10-15位数字)'
await e.reply(msg)
return true
}
async calculatorHelp(e) {
let msg = `角色养成计算\n指令${e.isSr ? '*克拉拉养成\n示例*克拉拉养成75 80 6 9 9 9\n参数为角色、武器、普攻、战技、终结技、天赋' : '#刻晴养成\n示例#刻晴养成81 90 9 9 9\n参数为角色、武器、技能等级'}`
await e.reply(msg)
return true
}
async Blueprint() {
let role = this.e.msg.replace(/#/, '').match(/\d+/g)
let data = await new Blueprint(this.e).get(role)
if (!data) return
/** 生成图片 */
let img = await puppeteer.screenshot('Blueprint', data)
if (img) await this.reply(img)
}
/** #刻晴养成 */
async Calculator() {
let role = gsCfg.getRole(
this.e.msg,
'#||星铁|养成|计算|[0-9]|,|| ',
this.e.isSr
)
if (!role) return false
if ([10000005, 10000007, 20000000].includes(Number(role.roleId))) {
await this.e.reply('暂不支持旅行者养成计算')
return true
}
let data = await new Calculator(this.e).get(role)
if (!data) return
this.renderImg('genshin', `html/calculator/calculator-${data.game}`, data)
}
}