UNPKG

koishi-plugin-bellabot

Version:

[![npm](https://img.shields.io/npm/v/koishi-plugin-bellabot?style=flat-square)](https://www.npmjs.com/package/koishi-plugin-bellabot)

63 lines (62 loc) 2.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.jryspro = void 0; const jrys_1 = require("./jrys"); const crypto_1 = __importDefault(require("crypto")); const fs_1 = __importDefault(require("fs")); const path_1 = __importDefault(require("path")); class jryspro { constructor() { } async getJrys(uid, debug) { const md5 = crypto_1.default.createHash('md5'); const hash = crypto_1.default.createHash('sha256'); let etime = new Date().setHours(0, 0, 0, 0); let userId; if (!isNaN(Number(uid))) { userId = uid; } else { if (uid) { hash.update(uid + String(etime)); let hashhexDigest = hash.digest('hex'); userId = Number(parseInt(hashhexDigest, 16)) % 1000000001; } else { md5.update("Default Jrys" + String(etime)); let hexDigest = md5.digest('hex'); userId = parseInt(hexDigest, 16) % 1000000001; } } var todayJrys = (((etime / 100000) * userId % 1000001) * 2333) % (jrys_1.jrysJson.length); if (debug) return { "jrys": todayJrys, "etime": (etime / 100000) }; else return jrys_1.jrysJson[todayJrys]; } async getFolderImg(folder) { let imgfilename = this.readFilenames(folder); const filteredArr = imgfilename.filter((filename) => { return /\.(png|jpg|jpeg|ico|svg)$/i.test(filename); }); return filteredArr; } // 递归获取文件夹内所有文件的文件名 async readFilenames(dirPath) { let filenames = []; const files = fs_1.default.readdirSync(dirPath); files.forEach((filename) => { const fullPath = path_1.default.join(dirPath, filename); if (fs_1.default.statSync(fullPath).isDirectory()) { filenames = filenames.concat(this.readFilenames(fullPath)); } else { filenames.push(filename); } }); return filenames; } } exports.jryspro = jryspro;