UNPKG

steam-family-bot-core

Version:

一个用于新版 Steam 家庭的库存监控 Bot 插件

66 lines 2.82 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); const builder_1 = require("../cmd/builder"); const utils_1 = require("../utils"); exports.default = () => new builder_1.CommandBuilder() .setName('sub') .setDescription('subscribe steam family update') .addAlias('sbsub') .addOption('img', 'preferImg:string?') .addOption('w', 'subWish:boolean?') .addOption('l', 'subLib:boolean?') .setExecutor(async (c) => { const { render, steamService, logger, session, options } = c; const subWish = options.w ?? false; const subLib = options.l ?? true; const preferGameImgType = (0, utils_1.preferImgStringToEnum)(options.img); const account = await steamService.db.Account.getSteamAccountBySessionUid(session.uid); if (!account) { session.sendQueued(session.text('commands.subscribe.no-binding')); return; } if (account.status === 'un-auth') { session.sendQueued(session.text('commands.subscribe.no-auth')); return; } const valid = await steamService.validAccount(account); if (!valid) { session.sendQueued(session.text('commands.subscribe.invalid-token')); return; } const subscription = await steamService.db.Subscription.getSubscriptionByChannelInfoAndFamilyId(account.familyId, session.getSessionInfo()); if (subscription) { await steamService.db.Subscription.updateSubscription({ ...subscription, steamFamilyId: account.familyId, subWishes: subWish, subLib, active: true, preferGameImgType, }); const familyLibAndWishes = await steamService.db.FamilyLib.getSteamFamilyLibByFamilyId(account.familyId); const familyLibs = familyLibAndWishes.filter((it) => it.type == 'lib'); const familyWishes = familyLibAndWishes.filter((it) => it.type == 'wish'); const text = session.text('commands.subscribe.update-success', { familyId: account.familyId, familyLibSize: familyLibs.length, familyWishesSize: familyWishes.length, subLib: subLib, subWishes: subWish, preferGameImgType: preferGameImgType, }); await session.sendQueued(text); } else { const res = await steamService.subscribeFamilyLibByAccount(account, session.getSessionInfo(), preferGameImgType, subLib, subWish); await session.sendQuote(session.text('commands.subscribe.subscribe-success', { familyName: res.familyName, familyLibSize: res.libSize, familyWishesSize: res.wishSize, subLib: subLib, subWishes: subWish, preferGameImgType: preferGameImgType, })); } }); //# sourceMappingURL=sub.js.map