UNPKG

@juzi/wechaty

Version:

Wechaty is a RPA SDK for Chatbot Makers.

43 lines 1.98 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.WecomImpl = void 0; const wechaty_puppet_1 = require("@juzi/wechaty-puppet"); const validation_js_1 = require("../user-mixins/validation.js"); const wechatify_js_1 = require("../user-mixins/wechatify.js"); class WecomMixin extends (0, wechatify_js_1.wechatifyMixinBase)() { static async getExternalUserId(contactIds, serviceProviderId) { return this.wechaty.puppet.getContactExternalUserId(contactIds, serviceProviderId); } static async getRoomAntiSpamStrategyList() { return this.wechaty.puppet.getRoomAntiSpamStrategyList(); } static async getRoomAntiSpamStrategyEffectRoomList(strategyId) { return this.wechaty.puppet.getRoomAntiSpamStrategyEffectRoomList(strategyId); } static async applyRoomAntiSpamStrategy(strategyId, roomIds, active) { const rawRoomIdSet = new Set(roomIds); const rooms = (await this.wechaty.Room.batchLoadRooms(Array.from(rawRoomIdSet))).filter(room => room.owner()?.self()); const actualRoomIdSet = new Set(rooms.map(room => room.id)); const filteredRoomIds = Array.from(rawRoomIdSet).filter(id => !actualRoomIdSet.has(id)); if (filteredRoomIds.length) { wechaty_puppet_1.log.warn(`these rooms cannot be applied with anti-spam strategy: ${filteredRoomIds}`); } if (actualRoomIdSet.size) { return this.wechaty.puppet.applyRoomAntiSpamStrategy(strategyId, Array.from(actualRoomIdSet), active); } } static async getCorpMessageInterceptionStrategies() { return this.wechaty.puppet.getCorpMessageInterceptionStrategies(); } /* * @hideconstructor */ constructor() { super(); wechaty_puppet_1.log.verbose('Wecom', 'constructor()'); } } class WecomImpl extends (0, validation_js_1.validationMixin)(WecomMixin)() { } exports.WecomImpl = WecomImpl; //# sourceMappingURL=wecom.js.map