V3支持戳一戳

This commit is contained in:
yoimiya-kokomi 2022-09-18 04:40:15 +08:00
parent d203b2743d
commit b09be93651
6 changed files with 47 additions and 23 deletions

View File

@ -114,9 +114,7 @@ class Puppeteer {
this.shoting.push(name)
const page = await this.browser.newPage()
page.setCacheEnabled(true)
await page.goto(`file://${_path}${lodash.trim(savePath, '.')}`, {
waitUntil: 'networkidle0'
})
await page.goto(`file://${_path}${lodash.trim(savePath, '.')}`, data.pageGotoParams || {})
let body = await page.$('#container') || await page.$('body')
await page.waitForSelector('#container')
let randData = {

View File

@ -58,11 +58,6 @@ app.reg('wife', wife, {
describe: '#老公 #老婆 查询'
})
app.reg('pock-wife', pokeWife, {
rule: '#poke#',
describe: '#老公 #老婆 查询'
})
app.reg('original-pic', getOriginalPicture, {
rule: /^#?(获取|给我|我要|求|发|发下|发个|发一下)?原图(吧|呗)?$/,
describe: '【#原图】 回复角色卡片,可获取原图'
@ -133,7 +128,7 @@ export async function character (e) {
}
if (e.isPrivate) {
if ((e.sub_type === 'friend' && Cfg.get('profile.friend.status') === false) ||
(e.sub_type === 'group' && Cfg.get('profile.stranger.status') === false)) {
(e.sub_type === 'group' && Cfg.get('profile.stranger.status') === false)) {
return
}
} else if (e.isGroup) {

View File

@ -86,6 +86,8 @@ export async function wife (e) {
isSelf = false
}
let renderType = (action === '卡片' ? 'card' : 'photo')
let addRet = []
switch (action) {
case '卡片':
case '照片':
@ -93,9 +95,7 @@ export async function wife (e) {
case '图片':
case '写真':
// 展示老婆卡片
// 如果选择过,则进行展示
let renderType = action === '卡片' ? 'card' : 'photo'
if (!e.isPoke) {
wifeList = await selfUser.getCfg(`wife.${targetCfg.key}`, [])
// 存在设置
@ -127,7 +127,6 @@ export async function wife (e) {
}
e.reply('在当前米游社公开展示的角色中未能找到适合展示的角色..')
return true
break
case '设置':
case '选择':
case '挑选':
@ -139,7 +138,6 @@ export async function wife (e) {
// 选择老婆
actionParam = actionParam.replace(/(|、|;|)/g, ',')
wifeList = actionParam.split(',')
let addRet = []
if (lodash.intersection(['全部', '任意', '随机', '全都要'], wifeList).length > 0) {
addRet = ['随机']
} else {

View File

@ -3,14 +3,16 @@ import character from './character.js'
import admin from './admin.js'
import stat from './stat.js'
import wiki from './wiki.js'
import poke from './poke.js'
export const characterApp = character.v2App()
export const adminApp = admin.v2App()
export const helpApp = help.v2App()
export const statApp = stat.v2App()
export const wikiApp = wiki.v2App()
export const pokeApp = poke.v2App()
let apps = { character, admin, help, stat, wiki }
let apps = { character, admin, help, stat, wiki, poke }
let rule = {} // v2
let rules = {} // v3
for (let key in apps) {

14
apps/poke.js Normal file
View File

@ -0,0 +1,14 @@
import { App } from '../components/index.js'
import { pokeWife } from './character/avatar-wife.js'
let app = App.init({
id: 'poke',
name: '角色查询',
event: 'poke'
})
app.reg('pock-wife', pokeWife, {
describe: '#老公 #老婆 查询'
})
export default app

View File

@ -20,31 +20,37 @@ class App {
v3App () {
let cfg = this.cfg || {}
let rules = []
let event = cfg.event
let cls = class extends plugin {
constructor () {
super({
name: `喵喵:${cfg.name || cfg.id}`,
desc: cfg.desc || cfg.name || '喵喵插件',
event: 'message',
dsc: cfg.desc || cfg.name || '喵喵插件',
event: event === 'poke' ? 'notice.group.poke' : 'message',
priority: 50,
rule: rules
})
}
accept (e) {
e.original_msg = e.original_msg || e.msg
}
}
for (let key in this.apps) {
let app = this.apps[key]
key = lodash.camelCase(key)
let rule = app.rule || app.reg || 'noCheck'
if (typeof (rule) === 'string') {
if (rule === '#poke#') {
continue
} else if (rule === 'noCheck') {
rule = '.+'
if (event !== 'poke') {
if (typeof (rule) === 'string') {
if (rule === 'noCheck') {
rule = '.*'
}
} else {
rule = lodash.trim(rule.toString(), '/')
}
} else {
rule = lodash.trim(rule.toString(), '/')
rule = '.*'
}
rules.push({
@ -54,6 +60,17 @@ class App {
cls.prototype[key] = async function () {
let e = this.e
if (event === 'poke') {
console.log(e)
if (e.notice_type === 'group') {
if (e.user_id !== Bot.uin) {
return false
}
e.user_id = e.operator_id
}
e.isPoke = true
e.msg = '#poke#'
}
e.original_msg = e.original_msg || e.msg
e.checkAuth = e.checkAuth || async function (cfg) {
return await checkAuth(e, cfg)