diff --git a/apps/mystery.js b/apps/mystery.js deleted file mode 100644 index 89b2dba..0000000 --- a/apps/mystery.js +++ /dev/null @@ -1,270 +0,0 @@ -// 主库 -import { segment } from "oicq"; -import fetch from "node-fetch"; -// 配置文件 -import config from "../model/index.js"; -// 其他库 -import _ from "lodash"; - -export class mystery extends plugin { - constructor() { - super({ - name: "神秘区域", - dsc: "神秘指令", - event: "message.group", - priority: 500, - rule: [ - { - reg: "^#(雀食|确实)$", - fnc: "mystery", - }, - { - reg: "^#*来份涩图(.*)$", - fnc: "setu", - }, - { - reg: "^#(累了)$", - fnc: "cospro", - }, - { - reg: "^#(啊)$", - fnc: "aaa", - }, - ], - }); - this.mysteryConfig = config.getConfig("mystery"); - } - - /** 接受到消息都会先执行一次 */ - async accept() { - if (this.e.isGroup) { - let group = this.e.group; - if (!group.is_owner && group.is_admin && group.mute_left > 0) return; - if (!(group.is_owner || group.is_admin) && (group.all_muted || group.mute_left > 0)) - return; - } - - let old_reply = this.e.reply; - - this.e.reply = async function (msgs, quote, data) { - if (!msgs) return false; - if (!Array.isArray(msgs)) msgs = [msgs]; - let result = await old_reply(msgs, quote, data); - - if (!result || !result.message_id) { - let isxml = false; - - for (let msg of msgs) { - if (msg && msg?.type == "xml" && msg?.data) { - msg.data = msg.data.replace( - /^<\?xml.*version=.*?>/g, - '' - ); - isxml = true; - } - } - - if (isxml) { - result = await old_reply(msgs, quote, data); - } else { - let MsgList = [ - { - message: msgs, - nickname: Bot.nickname, - user_id: Bot.uin, - }, - ]; - - let forwardMsg = await Bot.makeForwardMsg(MsgList); - - forwardMsg.data = forwardMsg.data - .replace( - '', - '' - ) - .replace(/\n/g, "") - .replace(/(.+?)<\/title>/g, "___") - .replace(/___+/, '<title color="#777777" size="26">请点击查看内容'); - msgs = forwardMsg; - result = await old_reply(msgs, quote, data); - } - - if (!result || !result.message_id) { - logger.error("风控消息处理失败,请登录手机QQ查看是否可手动解除风控!"); - } - } - return result; - }; - } - - async mystery(e) { - // 最大页数 - const maxPage = this.mysteryConfig.mystery.maxPage; - const maxPigObj = this.mysteryConfig.mystery.maxPigObj; - // 限制最大图片数量 - const imageCountLimit = this.mysteryConfig.mystery.imageCountLimit; - // 随机算法 - const page = _.random(1, maxPage); - const randomIndex = _.random(0, maxPigObj - 1); - // 回复 - this.reply("确实是吧, 正在探索..."); - // 请求 - let url = `https://www.cos6.net/wp-json/wp/v2/posts?page=${page}`; - let images = []; - await fetch(url) - .then(resp => { - return resp.json(); - }) - .then(json => { - const template = { - nickname: this.e.sender.card || this.e.user_id, - user_id: this.e.user_id, - }; - - const content = json[randomIndex].content; - images = this.getCos6Img(content.rendered); - // 洗牌 - images = _.shuffle(images); - // 限制长度 - if (images.length > imageCountLimit) { - images = images.slice(1, imageCountLimit + 1); - } - // 循环队列 - for (let i = 0; i < images.length; i++) { - images[i] = { - message: segment.image(images[i]), - ...template, - }; - } - }) - .catch(err => { - this.e.reply("探索失败,你再我去一次吧"); - logger.error(err); - return false; - }); - return !!(await this.reply(await Bot.makeForwardMsg(images))); - } - - async cospro(e) { - let req = [ - ...(await fetch("https://imgapi.cn/cos2.php?return=jsonpro") - .then(resp => resp.json()) - .then(json => json.imgurls)), - ...(await fetch("https://imgapi.cn/cos.php?return=jsonpro") - .then(resp => resp.json()) - .then(json => json.imgurls)), - ]; - e.reply("哪天克火掉一定是在这个群里面..."); - let images = []; - req.forEach(item => { - images.push({ - message: segment.image(encodeURI(item)), - nickname: this.e.sender.card || this.e.user_id, - user_id: this.e.user_id, - }); - }); - return !!(await this.reply(await Bot.makeForwardMsg(images))); - } - - async aaa(e) { - // https://yingtall.com/wp-json/wp/v2/posts?page=64 - // 最大页数 - const maxPage = this.mysteryConfig.aaa.maxPage; - const maxPigObj = this.mysteryConfig.aaa.maxPigObj; - // 限制最大图片数量 - const imageCountLimit = this.mysteryConfig.aaa.imageCountLimit; - // 随机算法 - const page = _.random(1, maxPage); - const randomIndex = _.random(0, maxPigObj - 1); - // 回复 - this.reply("真变态啊..."); - // 请求 - let images = []; - let imgData = []; - let url = `https://yingtall.com/wp-json/wp/v2/posts?page=${page}`; - await fetch(url) - .then(resp => { - return resp.json(); - }) - .then(json => { - if (!json.length) { - e.reply("请求失败,你再试一次吧"); - return false; - } - const content = json[randomIndex].content; - images = this.getImages2(content.rendered); - // 如果图片为空直接返回 - if (images.length === 0) { - e.reply("请求失败,你再试一次吧"); - return false; - } - // 洗牌 - images = _.shuffle(images); - // 限制长度 - if (images.length > imageCountLimit) { - images = images.slice(1, imageCountLimit + 1); - } - // 循环队列 - images.forEach(item => { - imgData.push({ - message: segment.image(item), - nickname: e.sender.card || e.user_id, - user_id: e.user_id, - }); - }); - }) - .catch(err => logger.error(err)); - return !!(await this.reply(await Bot.makeForwardMsg(imgData))); - } - - async setu(e) { - const keyword = e.msg.split(" ")[1]; - const numb = this.mysteryConfig.setu.count; - await e.reply("真变态啊...", true, { recallMsg: 7 }); - - let url = `https://api.lolicon.app/setu/v2?r18=${keyword}&num=${numb}`; //←此处修改图片类型,0为非18,1为18,2为18非18混合 - const response = await fetch(url); - const imgJson = await response.json(); - - const images = []; - for (let image of imgJson.data) { - images.push({ - message: segment.image(image.urls.original), - nickname: e.sender.card || e.user_id, - user_id: e.user_id, - }); - } - - const res = await this.reply(await Bot.makeForwardMsg(images), false, { recallMsg: 60 }); - - if (!res) { - return e.reply("请求失败,你再试一次吧", true, { - recallMsg: 60, - }); - } - - return true; - } - - // 正则:获取图片 - getCos6Img(string) { - const imgRex = /\/([\w].*?).(jpg|JPG|png|PNG|gif|GIF|jpeg|JPEG|svg)/g; - const images = []; - let img; - while ((img = imgRex.exec(string))) { - images.push(`https://www.cos6.net/${img[1]}.jpg`); - } - return images; - } - - // 正则:获取图片 - getImages2(string) { - const imgRex = /]+>/g; - const images = []; - let img; - while ((img = imgRex.exec(string))) { - images.push(img[1]); - } - return images; - } -} diff --git a/apps/query.js b/apps/query.js index 5e77e3c..76cf83c 100644 --- a/apps/query.js +++ b/apps/query.js @@ -43,6 +43,10 @@ export class query extends plugin { reg: "#买家秀", fnc: "buyerShow", }, + { + reg: "^#(累了)$", + fnc: "cospro", + } ], }); this.catConfig = config.getConfig("query"); @@ -294,6 +298,27 @@ export class query extends plugin { return true; } + async cospro(e) { + let req = [ + ...(await fetch("https://imgapi.cn/cos2.php?return=jsonpro") + .then(resp => resp.json()) + .then(json => json.imgurls)), + ...(await fetch("https://imgapi.cn/cos.php?return=jsonpro") + .then(resp => resp.json()) + .then(json => json.imgurls)), + ]; + e.reply("哪天克火掉一定是在这个群里面..."); + let images = []; + req.forEach(item => { + images.push({ + message: segment.image(encodeURI(item)), + nickname: this.e.sender.card || this.e.user_id, + user_id: this.e.user_id, + }); + }); + return !!(await this.reply(await Bot.makeForwardMsg(images))); + } + // 删除标签 removeTag(title) { const titleRex = /<[^>]+>/g; diff --git a/config/help.yaml b/config/help.yaml index 90c02d8..0b1ae0e 100644 --- a/config/help.yaml +++ b/config/help.yaml @@ -18,20 +18,9 @@ - icon: buyer title: "#买家秀" desc: 淘宝买家秀 -- group: 神秘功能合集 - list: - icon: pic1 - title: "#雀食/#确实" - desc: 原汤化原食 - - icon: pic2 - title: "#来份涩图 1/0" - desc: 涩涩的 - - icon: pic3 title: "#累了" desc: 疲惫往往是过度劳累 - - icon: pic4 - title: "#啊?" - desc: 啊? - group: 工具类合集 list: - icon: translate @@ -58,7 +47,7 @@ - icon: literature title: "论文" desc: SCI论文实时解析 -- group: 其他指令[实验] +- group: 其他指令 list: - icon: update title: "#R插件更新" diff --git a/config/mystery.yaml b/config/mystery.yaml deleted file mode 100644 index 37cb79a..0000000 --- a/config/mystery.yaml +++ /dev/null @@ -1,16 +0,0 @@ -mystery: - # 最大页数 - maxPage: 15 - maxPigObj: 10 - # 限制最大图片数量 - imageCountLimit: 10 -aaa: - # 最大页数 - maxPage: 15 - maxPigObj: 10 - # 限制最大图片数量 - imageCountLimit: 10 -setu: - count: 2 -tuiimg: - count: 5 \ No newline at end of file diff --git a/img/help.jpg b/img/help.jpg index a04e619..fba212b 100644 Binary files a/img/help.jpg and b/img/help.jpg differ diff --git a/resources/img/icon/pic2.png b/resources/img/icon/pic2.png deleted file mode 100644 index 4ff4aa8..0000000 Binary files a/resources/img/icon/pic2.png and /dev/null differ diff --git a/resources/img/icon/pic3.png b/resources/img/icon/pic3.png deleted file mode 100644 index 98fbe66..0000000 Binary files a/resources/img/icon/pic3.png and /dev/null differ diff --git a/resources/img/icon/pic4.png b/resources/img/icon/pic4.png deleted file mode 100644 index cdc9b67..0000000 Binary files a/resources/img/icon/pic4.png and /dev/null differ