增加uid搜图
This commit is contained in:
@@ -1,10 +1,11 @@
|
||||
# 1.0.3
|
||||
* 增加`#看看日|周|月|男性向|女性向榜`Pixiv榜单
|
||||
* 增加`#pid搜图`以Pixiv插画Id搜图
|
||||
* 增加`tag搜图`以tag关键词搜图
|
||||
* 增加`#tag搜图`以tag关键词搜图
|
||||
* 增加`#coser`
|
||||
* 增加`#waifu`
|
||||
* 增加`#查看热门tag`
|
||||
* 增加`#uid搜图`用画师的**uid**或**画师名**进行搜索
|
||||
|
||||
# 1.0.2
|
||||
|
||||
|
||||
@@ -20,6 +20,7 @@ let type = {
|
||||
let listreg = new RegExp(`^#?看看(${Object.keys(type).join("|")})榜\\s?(第(\\d+)页)?$`)
|
||||
let tagreg = new RegExp('^#?tag搜图(.*)$', "i")
|
||||
let pidreg = new RegExp('^#?pid搜图(\\d+)$', "i")
|
||||
let uidreg = new RegExp('^#?uid搜图(.*)$', "i")
|
||||
|
||||
export class example extends plugin {
|
||||
constructor() {
|
||||
@@ -43,7 +44,11 @@ export class example extends plugin {
|
||||
{
|
||||
reg: '^#?查看热门(t|T)(a|A)(g|G)$',
|
||||
fnc: 'trend_tags'
|
||||
}
|
||||
},
|
||||
{
|
||||
reg: uidreg,
|
||||
fnc: 'saucenaoUid'
|
||||
},
|
||||
]
|
||||
})
|
||||
}
|
||||
@@ -93,7 +98,7 @@ export class example extends plugin {
|
||||
|
||||
let date = moment().subtract(day, "days").format("YYYY-MM-DD")
|
||||
|
||||
let page = regRet[3] ? regRet[3] : "1"
|
||||
let page = regRet[3] || "1"
|
||||
|
||||
let res = await new Pixiv(e).Rank(page, date, mode)
|
||||
|
||||
@@ -146,5 +151,31 @@ export class example extends plugin {
|
||||
Cfg.getCDsendMsg(e, res, false)
|
||||
}
|
||||
|
||||
/**以uid搜图**/
|
||||
async saucenaoUid(e) {
|
||||
if (!e.isMaster) {
|
||||
if (!Config.Notice.sese) return
|
||||
}
|
||||
let regRet = uidreg.exec(e.msg)
|
||||
|
||||
let key = regRet[1]
|
||||
|
||||
let pagereg = new RegExp("第(\\d+)页")
|
||||
|
||||
let page = pagereg.exec(e.msg)
|
||||
|
||||
if (page) {
|
||||
key = key.replace(page[0], "")
|
||||
page = page[1]
|
||||
} else {
|
||||
page = "1"
|
||||
}
|
||||
|
||||
let res = await new Pixiv(e).public(key, page)
|
||||
|
||||
if (!res) return
|
||||
|
||||
Cfg.getCDsendMsg(e, res, false)
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -13,14 +13,12 @@ export default class Pixiv {
|
||||
*/
|
||||
async Worker(ids) {
|
||||
let api = `https://api.imki.moe/api/pixiv/illust?id=${ids}`
|
||||
let res = await fetch(api).then(res => res.json()).catch(err => console.log(err))
|
||||
let res = await this.getfetch(api)
|
||||
|
||||
if (!res) {
|
||||
this.e.reply("接口失效辣!!!")
|
||||
return false
|
||||
};
|
||||
if (!res) return false
|
||||
if (res.error) {
|
||||
this.e.reply("口字很拉跨,请稍后重试>_<")
|
||||
this.e.reply(`先用直链解决一下:https://pixiv.re/${ids}.jpg`)
|
||||
return false;
|
||||
}
|
||||
res = res.illust
|
||||
@@ -64,11 +62,8 @@ export default class Pixiv {
|
||||
"week_rookie_manga": "漫画新秀周榜",
|
||||
}
|
||||
let api = `https://api.bbmang.me/ranks?page=${page}&date=${date}&mode=${mode}&pageSize=30`
|
||||
let res = await fetch(api).then(res => res.json()).catch(err => console.log(err))
|
||||
if (!res) {
|
||||
this.e.reply("接口失效辣!!!")
|
||||
return false
|
||||
};
|
||||
let res = await this.getfetch(api)
|
||||
if (!res) return false
|
||||
if (!res.data) {
|
||||
this.e.reply("可能没有榜单哦~")
|
||||
return false
|
||||
@@ -105,11 +100,8 @@ export default class Pixiv {
|
||||
*/
|
||||
async searchTags(tag, page = "1") {
|
||||
let api = `https://www.vilipix.com/api/v1/picture/public?limit=30&tags=${tag}&sort=new&offset=${(page - 1) * 30}`
|
||||
let res = await fetch(api).then(res => res.json()).catch(err => console.log(err))
|
||||
if (!res) {
|
||||
this.e.reply("接口失效辣!!!")
|
||||
return false
|
||||
};
|
||||
let res = await this.getfetch(api)
|
||||
if (!res) return false
|
||||
if (res.data.count == 0) {
|
||||
this.e.reply("呜呜呜,人家没有找到相关的插画>_<")
|
||||
return false;
|
||||
@@ -118,7 +110,7 @@ export default class Pixiv {
|
||||
let pageall = Math.ceil(res.data.count / 30)
|
||||
|
||||
if (page > pageall) {
|
||||
this.e.reply(["你他喵的觉得这河里吗!!!", segment.face(215)])
|
||||
this.e.reply("啊啊啊,淫家给不了你那么多辣~~")
|
||||
return false
|
||||
}
|
||||
|
||||
@@ -147,12 +139,9 @@ export default class Pixiv {
|
||||
async gettrend_tags() {
|
||||
let api = "https://api.imki.moe/api/pixiv/tags"
|
||||
|
||||
let res = await fetch(api).then(res => res.json()).catch(err => console.log(err))
|
||||
let res = await this.getfetch(api)
|
||||
|
||||
if (!res) {
|
||||
this.e.reply("口子太拉,多半是寄了>_<")
|
||||
return false
|
||||
}
|
||||
if (!res) return false
|
||||
if (!res.trend_tags) {
|
||||
this.e.reply("呜呜呜,没有获取到数据>_<")
|
||||
return false
|
||||
@@ -174,4 +163,67 @@ export default class Pixiv {
|
||||
return list
|
||||
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* @description: 用户uid搜图
|
||||
* @param {String} uid 用户uid
|
||||
* @param {String} page 页数
|
||||
* @return {Array}
|
||||
*/
|
||||
async public(keyword, page = "1") {
|
||||
let userapi = `https://www.vilipix.com/api/v1/search/user?type=author&keyword=${keyword}&limit=30&offset=0`
|
||||
let user = await this.getfetch(userapi)
|
||||
if (!user) return false
|
||||
if (user.data.count == 0) {
|
||||
this.e.reply("呜呜呜,人家没有找到这个淫>_<")
|
||||
return false;
|
||||
}
|
||||
let { user_id: uid, nick_name, avatar, desc } = user.data.rows[0]
|
||||
let api = `https://www.vilipix.com/api/v1/picture/public?sort=new&type=0&author_user_id=${uid}&limit=30&offset=${(page - 1) * 30}`
|
||||
let res = await this.getfetch(api)
|
||||
if (!res) return false
|
||||
if (res.data.count == 0) {
|
||||
this.e.reply("Σ(っ °Д °;)っ这个淫居然没有插画")
|
||||
return false;
|
||||
}
|
||||
let pageall = Math.ceil(res.data.count / 30)
|
||||
if (page > pageall) {
|
||||
this.e.reply("这个淫已经没有涩图给你辣~~")
|
||||
return false
|
||||
}
|
||||
let list = [
|
||||
[
|
||||
segment.image(avatar),
|
||||
`\nuid:${uid}\n`,
|
||||
`画师:${nick_name}\n`,
|
||||
`介绍:${lodash.truncate(desc)}`
|
||||
],
|
||||
`共找到${res.data.count}张插画`,
|
||||
`当前为第${page}页,共${pageall}页`
|
||||
]
|
||||
for (let i of res.data.rows) {
|
||||
let { picture_id, title, regular_url, tags } = i
|
||||
list.push([
|
||||
`标题:${title}\n`,
|
||||
`插画ID:${picture_id}\n`,
|
||||
`Tag:${lodash.truncate(tags)}\n`,
|
||||
segment.image(regular_url)
|
||||
])
|
||||
}
|
||||
return list
|
||||
}
|
||||
|
||||
/**
|
||||
* @description: 请求api
|
||||
* @param {String} url 链接
|
||||
* @return {Object}
|
||||
*/
|
||||
async getfetch(url) {
|
||||
return await fetch(url).then(res => res.json()).catch(err => {
|
||||
this.e.reply("接口失效辣!!!")
|
||||
console.log(err)
|
||||
return false;
|
||||
})
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user