modified: apps/fun.js

modified:   apps/gp_admin.js
	modified:   apps/pixiv.js
	modified:   config/system/help_system.js
	modified:   model/QQInterface.js
This commit is contained in:
yeyang
2023-01-04 20:37:04 +08:00
parent 9c7b145976
commit 21abb51373
5 changed files with 94 additions and 85 deletions

View File

@@ -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 = /<a target(.*?)html/g
let regs = /href="(.*)/
let list = res.match(reg);
list = regs.exec(lodash.sample(list))
let heis = await fetch(list[1]).then(res => res.text()).catch(err => console.error(err))
if (!heis) return e.reply("接口失效辣(๑ŐдŐ)b")
let hsreg = /<img loading(.*?)jpg/g
let img = heis.match(hsreg);
let imgreg = /src="(.*)/
let imglist = [];
let item = 1;
for (let i of img) {
let pic = segment.image(imgreg.exec(i)[1])
pic.headers = {
//请求主页面
let url = `http://hs.heisiwu.com/${heisitype[types[1]]}#/page/${lodash.random(1, 20)}`
let homePage = await fetch(url).then(res => res.text()).catch(err => console.error(err))
if (!homePage) return e.reply("接口失效辣(๑ŐдŐ)b")
//解析html
let childPageUrlList = homePage.match(/<a target(.*?)html/g);
let childPageUrl = lodash.sample(childPageUrlList).match(/href="(.*)/)
//请求图片页面
let childPage = await fetch(childPageUrl[1]).then(res => res.text()).catch(err => console.error(err))
if (!childPage) return e.reply("接口失效辣(๑ŐдŐ)b")
//获取html列表
let imghtml = childPage.match(/<img loading(.*?)jpg/g);
//提取图片并转换
let imglist = imghtml.map(item => {
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 = [

View File

@@ -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}`,
]);
}
}

View File

@@ -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)
}
}
}

View File

@@ -239,6 +239,10 @@ export const helpList = [{
"title": "#哪个叼毛是龙王",
"desc": "查看谁是龙王",
"icon": 6
}, {
"title": "#acg刻晴",
"desc": "acgcos",
"icon": 9
},]
},
{

View File

@@ -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 class="text">(.*?)<\/span>/)[1]
let avatar = res.match(/<div class="avatar" style="background-image:url\((.*?)\);"><\/div>/)[1].replaceAll("amp;", "")
let desc = res.match(/<div class="tag" style="display:(none)?;"><span>(.*?)<\/span><\/div>/)[2]
return {
name,
avatar,
desc
}
}
}