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:
103
apps/fun.js
103
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 = /<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 = [
|
||||
|
||||
@@ -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}`,
|
||||
]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,6 +239,10 @@ export const helpList = [{
|
||||
"title": "#哪个叼毛是龙王",
|
||||
"desc": "查看谁是龙王",
|
||||
"icon": 6
|
||||
}, {
|
||||
"title": "#acg刻晴",
|
||||
"desc": "acgcos",
|
||||
"icon": 9
|
||||
},]
|
||||
},
|
||||
{
|
||||
|
||||
@@ -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
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user