card basic

This commit is contained in:
bietiaop 2024-07-09 01:22:14 +08:00
parent 51fb65cdb4
commit cd0793655d
32 changed files with 807 additions and 260 deletions

View file

@ -1,7 +1,7 @@
import User from '../../genshin/model/user.js';
import { getStoken } from './authkey.js';
export const rulePrefix = '((#|\\*)?(zzz|ZZZ|绝区零)|\\*|)';
export const rulePrefix = '((#|\\%)?(zzz|ZZZ|绝区零)|\\*|)';
export async function getCk(e, s = false) {
e.isSr = true;

1
lib/convert.js Normal file
View file

@ -0,0 +1 @@
export * as element from './convert/element.js';

15
lib/convert/element.js Normal file
View file

@ -0,0 +1,15 @@
const ELEMENT_TYPE = {
203: 'thunder',
205: 'dungeon',
202: 'ice',
200: 'physdmg',
201: 'fire',
};
/**
*
* @param {keyof ELEMENT_TYPE} id
* @returns
*/
export const IDToElement = id => {
return ELEMENT_TYPE[id];
};

View file

@ -47,4 +47,26 @@ export class ZZZPlugin extends plugin {
}
return { api, uid, deviceFp };
}
async getPlayerInfo() {
const { api } = await this.getAPI();
if (!api) return false;
let userData = await api.getData('zzzUser');
if (!userData?.data || _.isEmpty(userData.data.list)) {
await this.reply('[zzznote]玩家信息获取失败');
return false;
}
userData = userData?.data?.list[0];
let avatar = this.e.bot.avatar;
// 头像
if (this.e.member?.getAvatarUrl) {
avatar = await this.e.member.getAvatarUrl();
} else if (this.e.friend?.getAvatarUrl) {
avatar = await this.e.friend.getAvatarUrl();
}
this.e.playerCard = {
avatar: avatar,
player: userData,
};
return userData;
}
}

View file

@ -36,6 +36,8 @@ function render(e, renderPath, renderData = {}, cfg = {}) {
const layoutPath = data.pluResPath + 'common/layout/';
const renderPathFull = data.pluResPath + renderPath.split('/')[0] + '/';
return {
player: e?.playerCard?.player,
avatar: e?.playerCard?.avatar,
...data,
_res_path: resPath,
_layout_path: layoutPath,
@ -44,6 +46,7 @@ function render(e, renderPath, renderData = {}, cfg = {}) {
scale: pct,
resourcesPath: resPath,
currentPath: renderPathFull,
playerInfo: path.join(layoutPathFull, 'playerinfo.html'),
copyright: `Created By ${version.name}<span class="version">${version.yunzai}</span> & ${pluginName}<span class="version">${version.version}</span>`,
createdby: `Created By <span class="highlight">${pluginName}</span> & Powered By <span class="highlight">ZZZure</span>`,
},