UNPKG

@juzi/wechaty

Version:

Wechaty is a RPA SDK for Chatbot Makers.

40 lines 1.78 kB
import { log } from '@juzi/wechaty-puppet'; import { validationMixin } from '../user-mixins/validation.js'; import { wechatifyMixinBase, } from '../user-mixins/wechatify.js'; class WecomMixin extends 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) { 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(); log.verbose('Wecom', 'constructor()'); } } class WecomImpl extends validationMixin(WecomMixin)() { } export { WecomImpl, }; //# sourceMappingURL=wecom.js.map