koishi-plugin-bellabot
Version:
[](https://www.npmjs.com/package/koishi-plugin-bellabot)
63 lines (62 loc) • 2.3 kB
JavaScript
;
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;