diff --git a/apps/fun.js b/apps/fun.js index 8d91e47..03b0405 100644 --- a/apps/fun.js +++ b/apps/fun.js @@ -62,14 +62,6 @@ export class example extends plugin { reg: apirag, fnc: 'picture' }, - { - reg: "^#?(谁|哪个吊毛|哪个屌毛|哪个叼毛)是龙王$", - fnc: 'dragonKing' - }, - { - reg: '^#?(P|p)ximg(pro)?$', - fnc: 'Pximg' - }, { reg: '^#?来点神秘图(\\d+)?$', fnc: 'mengdui' @@ -267,39 +259,31 @@ export class example extends plugin { if (!Config.getGroup(e.group_id).sesepro) return e.reply("主人没有开放这个功能哦(*/ω\*)") } e.reply("椰奶产出中......") + //获取类型 let types = heisiwreg.exec(e.msg) - let api = `http://hs.heisiwu.com/${heisitype[types[1]]}#/page/${lodash.random(1, 20)}` - let res = await fetch(api).then(res => res.text()).catch(err => console.error(err)) - if (!res) return e.reply("接口失效辣(๑ŐдŐ)b") - - let reg = / res.text()).catch(err => console.error(err)) - if (!heis) return e.reply("接口失效辣(๑ŐдŐ)b") - - let hsreg = / res.text()).catch(err => console.error(err)) + if (!homePage) return e.reply("接口失效辣(๑ŐдŐ)b") + //解析html + let childPageUrlList = homePage.match(/ res.text()).catch(err => console.error(err)) + if (!childPage) return e.reply("接口失效辣(๑ŐдŐ)b") + //获取html列表 + let imghtml = childPage.match(/ { + item = segment.image(item.match(/src="(.*)/)[1]) + item.headers = { 'Referer': 'http://hs.heisiwu.com', 'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36 Edg/108.0.1462.46' } - imglist.push(pic) - - if (item >= 20) { - break - } else { - item++ - } - } - - Cfg.getRecallsendMsg(e, imglist, false) + return item + }) + //发送消息 + Cfg.getRecallsendMsg(e, lodash.take(imglist, 20), false) } //萌堆 async mengdui(e) { @@ -363,56 +347,13 @@ export class example extends plugin { if (lodash.isEmpty(msg)) return this.bcy_topic(e) Cfg.getforwardMsg(e, msg) } - //谁是龙王 - async dragonKing(e) { - let ck = Cfg.getck("qun.qq.com"); - let url = `http://xiaobai.klizi.cn/API/qqgn/dragon.php?data=json&uin=${(Bot.uin)}&skey=${(ck.skey)}&pskey=${(ck.p_skey)}&group=${(e.group_id)}`; - console.log(url); - let res = await fetch(url).then(res => res.json()).catch(err => console.log(err)) - if (!res) return e.reply("接口失效辣(๑ŐдŐ)b") - e.reply([ - `本群龙王:${res.name}`, - segment.image(res.avatar), - `蝉联天数:${res.desc}`, - ]); - } - //p站单图 - async Pximg(e) { - if (!e.isMaster) { - if (!Config.getGroup(e.group_id).sese || !Config.getGroup(e.group_id).sesepro && /pro/.test(e.msg)) { - return e.reply("主人没有开放这个功能哦(*/ω\*)") - } - } - let url = "https://ovooa.com/API/Pximg/" - if (/pro/.test(e.msg)) { - url = "https://xiaobapi.top/api/xb/api/setu.php" - } - let res = await fetch(url).then(res => res.json()).catch(err => console.log(err)) - if (!res) return e.reply("接口寄辣") - let { pid, uid, title, author, tags, urls, r18 } = res.data[0] || res.data - let msg = [ - `Pid: ${pid}\n`, - `Uid: ${uid}\n`, - r18 ? `R18: ${r18}\n` : "", - `标题:${title}\n`, - `画师:${author}\n`, - `Tag:${tags.join(",")}\n`, - segment.image(urls.original.replace('i.der.ink', await redis.get(`yenai:proxy`))) - ] - if (/pro/.test(e.msg)) { - Cfg.getRecallsendMsg(e, [msg], false) - } else { - Cfg.recallsendMsg(e, msg) - } - - } //api大集合 async picture(e) { if (!e.isMaster) { if (!Config.getGroup(e.group_id).sese) return e.reply("主人没有开放这个功能哦(*/ω\*)") } - let key = `yenai:apiaggregate:CD` + let key = `yenai:apiAggregate:CD` if (await redis.get(key)) return if (/jktj/.test(e.msg)) { let msg = [ diff --git a/apps/gp_admin.js b/apps/gp_admin.js index ade1e59..36a8b08 100644 --- a/apps/gp_admin.js +++ b/apps/gp_admin.js @@ -3,7 +3,7 @@ import fetch from 'node-fetch' import { segment } from 'oicq' import lodash from 'lodash' import { Config } from '../components/index.js' -import { Cfg, Gpadmin, common } from '../model/index.js' +import { Cfg, Gpadmin, common, QQInterface } from '../model/index.js' import moment from 'moment' const ROLE_MAP = { admin: '群管理', @@ -124,7 +124,11 @@ export class Basics extends plugin { { reg: `(^#定时禁言(.*)解禁(.*)$)|(^#定时禁言任务$)|(^#取消定时禁言$)`, fnc: 'timeMute' - } + }, + { + reg: "^#?(谁|哪个吊毛|哪个屌毛|哪个叼毛)是龙王$", + fnc: 'dragonKing' + }, ] }) @@ -752,4 +756,16 @@ export class Basics extends plugin { await redis.set(`Yunzai:yenai:Taboo:${e.group_id}`, JSON.stringify(data)) e.reply(`设置定时禁言成功,可发【#定时禁言任务】查看`)`` } + //谁是龙王 + async dragonKing(e) { + let ck = Cfg.getck("qun.qq.com"); + let url = `http://xiaobai.klizi.cn/API/qqgn/dragon.php?data=json&uin=${(Bot.uin)}&skey=${(ck.skey)}&pskey=${(ck.p_skey)}&group=${(e.group_id)}`; + let res = await fetch(url).then(res => res.json()).catch(err => console.log(err)) + if (!res) res = await QQInterface.dragon(e.group_id) + e.reply([ + `本群龙王:${res.name}`, + segment.image(res.avatar), + `蝉联天数:${res.desc}`, + ]); + } } diff --git a/apps/pixiv.js b/apps/pixiv.js index 4b45780..be25769 100644 --- a/apps/pixiv.js +++ b/apps/pixiv.js @@ -46,7 +46,11 @@ export class example extends plugin { { reg: relatedreg, fnc: 'related_works' - } + }, + { + reg: '^#?(P|p)ximg(pro)?$', + fnc: 'Pximg' + }, ] }) } @@ -210,4 +214,35 @@ export class example extends plugin { if (!msg) return Cfg.getCDsendMsg(e, msg, false) } + + //p站单图 + async Pximg(e) { + if (!e.isMaster) { + if (!Config.getGroup(e.group_id).sese || !Config.getGroup(e.group_id).sesepro && /pro/.test(e.msg)) { + return e.reply("主人没有开放这个功能哦(*/ω\*)") + } + } + let url = "https://ovooa.com/API/Pximg/" + if (/pro/.test(e.msg)) { + url = "https://xiaobapi.top/api/xb/api/setu.php" + } + let res = await fetch(url).then(res => res.json()).catch(err => console.log(err)) + if (!res) return e.reply("接口寄辣") + let { pid, uid, title, author, tags, urls, r18 } = res.data[0] || res.data + let msg = [ + `Pid: ${pid}\n`, + `Uid: ${uid}\n`, + r18 ? `R18: ${r18}\n` : "", + `标题:${title}\n`, + `画师:${author}\n`, + `Tag:${tags.join(",")}\n`, + segment.image(urls.original.replace('i.der.ink', await redis.get(`yenai:proxy`))) + ] + if (/pro/.test(e.msg)) { + Cfg.getRecallsendMsg(e, [msg], false) + } else { + Cfg.recallsendMsg(e, msg) + } + + } } diff --git a/config/system/help_system.js b/config/system/help_system.js index 61e3e56..4bf80e1 100644 --- a/config/system/help_system.js +++ b/config/system/help_system.js @@ -239,6 +239,10 @@ export const helpList = [{ "title": "#哪个叼毛是龙王", "desc": "查看谁是龙王", "icon": 6 + }, { + "title": "#acg刻晴", + "desc": "acgcos", + "icon": 9 },] }, { diff --git a/model/QQInterface.js b/model/QQInterface.js index 079bd77..782f97e 100644 --- a/model/QQInterface.js +++ b/model/QQInterface.js @@ -84,7 +84,7 @@ export default new class assistant { if (!result) return e.reply("接口失效") if (result.code != 0) return e.reply(`❎ 说说发表失败\n错误信息:${result.message}`) - + let msg = [`✅ 说说发表成功,内容:\n`, lodash.truncate(result.content, { "length": 15 })] if (result.pic) { msg.push(segment.image(result.pic[0].url1)) @@ -112,4 +112,17 @@ export default new class assistant { ]) } + /**查看本群龙王 */ + async dragon(group_id) { + let url = `https://qun.qq.com/interactive/honorlist?gc=${group_id}&type=1&_wv=3&_wwv=129` + let res = await fetch(url, { headers: { "Cookie": Bot.cookies["qun.qq.com"] } }).then(res => res.text()) + let name = res.match(/(.*?)<\/span>/)[1] + let avatar = res.match(/
<\/div>/)[1].replaceAll("amp;", "") + let desc = res.match(/
(.*?)<\/span><\/div>/)[2] + return { + name, + avatar, + desc + } + } } \ No newline at end of file