mirror of
https://github.com/yoimiya-kokomi/miao-plugin.git
synced 2024-11-22 06:58:24 +00:00
34 lines
1.2 KiB
JavaScript
34 lines
1.2 KiB
JavaScript
import fetch from 'node-fetch'
|
||
import EnkaData from './enka-data.js'
|
||
import HttpsProxyAgent from "https-proxy-agent";
|
||
let Enka = {
|
||
key: 'enka',
|
||
cd: 5,
|
||
async request ({ e, uid, avatar, diyCfg, sysCfg }) {
|
||
let url = diyCfg?.enkaApi?.url || sysCfg.enkaApi.url
|
||
let profileApi = diyCfg?.enkaApi?.listApi || sysCfg.enkaApi.listApi
|
||
let api = profileApi({ url, uid, avatar })
|
||
if (diyCfg?.enkaApi?.apiKey) {
|
||
api += '?key=' + diyCfg.enkaApi.apiKey
|
||
}
|
||
let config = { headers: { 'User-Agent': diyCfg?.enkaApi?.userAgent || sysCfg.enkaApi.userAgent } }
|
||
if (diyCfg?.enkaApi?.proxyAgent){
|
||
config.agent=new HttpsProxyAgent(diyCfg.enkaApi.proxyAgent)
|
||
}
|
||
let req = await fetch(api, config)
|
||
let data = await req.json()
|
||
if (!data.playerInfo) {
|
||
e.reply(`请求失败:${data.msg || '可能是面板服务并发过高,请稍后重试'}`)
|
||
return false
|
||
}
|
||
let details = data.avatarInfoList
|
||
if (!details || details.length === 0 || !details[0].propMap) {
|
||
e.reply('请打开游戏内角色展柜的【显示详情】后,等待5分钟重新获取面板')
|
||
return false
|
||
}
|
||
return EnkaData.getData(uid, data)
|
||
}
|
||
}
|
||
|
||
export default Enka
|