import {common} from '../model/index.js' import fetch from "node-fetch"; import plugin from '../../../lib/plugins/plugin.js' const apis = [ 'https://img.xjh.me/random_img.php', 'https://www.dmoe.cc/random.php', 'https://api.vvhan.com/api/acgimg', 'https://www.dmoe.cc/random.php', 'http://api.caonm.net/api/dm/index.php', 'https://api.ghser.com/random/api.php', 'https://api.yfzy.top/laifentu.php', 'https://api.yimian.xyz/img', 'https://api.yfzy.top/laifentu.php', 'https://api.dujin.org/pic/yuanshen', 'https://api.dujin.org/pic/', 'http://img.xjh.me/random_img.php?tctype=acg&return=302', 'http://img.xjh.me/random_img.php?type=bg&ctype=acg&return=302', 'http://api.mtyqx.cn/tapi/random.php', 'http://img.xjh.me/random_img.php?type=bg&ctype=nature&return=302', 'http://www.dmoe.cc/random.php', 'https://img.paulzzh.tech/touhou/random', 'https://api.ouyangqiqi.cn/dm/img.php', 'https://api.ouyangqiqi.com/img.php', 'http://dmapi.ikun.icu/img-webp.php', 'https://api.btstu.cn/sjbz/api.php', 'https://api.btstu.cn/sjbz/api.php', 'https://www.dmoe.cc/random.php', 'https://api.yimian.xyz/img', 'https://api.yimian.xyz/img?type=moe', 'https://api.yimian.xyz/img?type=moe&size=1920x1080', 'https://img.paulzzh.com/touhou/random', 'https://acg.404.kim/api.php', 'https://api.ghser.com/random/api.php', ] let useapi = apis export class xy_sjt extends plugin { constructor() { super({ name: '随机图', dsc: '二次元图', event: 'message', priority: 88888, rule: [{ reg: '^(.*)(点|份|看看|康康|看|康|想要|需要|哒咩|来点)(二次元|美图|涩图|涩涩|色色|随机图|高清图|p站|acg|ACG|setu|萌图|插画|壁纸|壁纸|漫画)(\\d+张)?(.*)$', fnc: 'txsjt' }] }) } async txsjt(e) { let image = [] let res = [] let img let number = e.msg.match(/\d+/) if (number) { number = Number(number[0]) number = number < 2 ? 2 : number > 10 ? 10 : number } else { number = 1 } for (let i = 0; i < number; i++) { let flag = 1 img = await getImg(e) if (!img.includes('http')) { img = 'https:' + img } if (i == 0) { res.push(img) image.push(segment.image(img)) } else { for (let val of res) { if (val == img) { flag = 0 } } if (flag == 1) { image.push(segment.image(img)) } else { number++ } } } //logger.mark(number) if(e.isGroup) { number > 1 ? common.getforwardMsg(e, image, '点击显示随机涩图', 0, false, true) : e.reply(image) }else{ for (let i = 0; i < image.length; i++){ e.reply(image[i]) } } } } async function getImg(e) { let res = await response() let i = 0 while (!res && i < apis.length) { res = await response() i++ } if (i > apis.length) return e.reply('接口失效') let img = res.img || res.imgurl || res.pic?.[0] || res return img } async function response() { let num = Math.round(Math.random() * (useapi.length - 1)) logger.warn(`尝试请求接口:${useapi[num]}`) try { let res = await fetch(useapi[num]) if (!res.ok) { logger.warn(useapi[num] + ',接口失效') useapi.splice(num, 1) return false } if (res.headers.get('content-type').includes('json')) { res = await res.json() return res } return useapi[num] } catch (err) { logger.warn(useapi[num] + ',接口失效') useapi.splice(num, 1) return false } }