@juzi/wechaty
Version:
Wechaty is a RPA SDK for Chatbot Makers.
43 lines • 1.98 kB
JavaScript
;
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