UNPKG

@mengkodingan/ckptw

Version:

Create powerful WhatsApp bots easily

180 lines (179 loc) 6.73 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupData = void 0; const Functions_1 = require("../../Common/Functions"); class GroupData { constructor(ctx, jid) { this.ctx = ctx; this.jid = jid; } members() { return __awaiter(this, void 0, void 0, function* () { let metadata = yield this.metadata(); return metadata.participants; }); } inviteCode() { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupInviteCode(this.jid); }); } revokeInviteCode() { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupRevokeInvite(this.jid); }); } joinApproval(mode) { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupJoinApprovalMode(this.jid, mode); }); } leave() { return __awaiter(this, void 0, void 0, function* () { this.ctx._client.groupLeave(this.jid); }); } membersCanAddMemberMode(mode) { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupMemberAddMode(this.jid, mode === "on" ? "all_member_add" : "admin_add"); }); } metadata() { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupMetadata(this.jid); }); } getMetadata(key) { return __awaiter(this, void 0, void 0, function* () { let metadata = yield this.metadata(); return metadata[key]; }); } name() { return __awaiter(this, void 0, void 0, function* () { return yield this.getMetadata('subject'); }); } description() { return __awaiter(this, void 0, void 0, function* () { return yield this.getMetadata('desc'); }); } owner() { return __awaiter(this, void 0, void 0, function* () { return yield this.getMetadata('owner'); }); } isAdmin(jid) { return __awaiter(this, void 0, void 0, function* () { let members = yield this.members(); let check = members.filter((x) => (0, Functions_1.decodeJid)(x.id) === (0, Functions_1.decodeJid)(jid) && (x.admin === 'admin' || x.admin === 'superadmin')); return check.length > 0; }); } isSenderAdmin() { return __awaiter(this, void 0, void 0, function* () { return yield this.isAdmin(this.ctx.sender.decodedJid); }); } isBotAdmin() { return __awaiter(this, void 0, void 0, function* () { return yield this.isAdmin(this.ctx.me.decodedId); }); } toggleEphemeral(expiration) { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupToggleEphemeral(this.jid, expiration); }); } updateDescription(description) { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupUpdateDescription(this.jid, description); }); } updateSubject(subject) { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupUpdateSubject(this.jid, subject); }); } membersUpdate(members, action) { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupParticipantsUpdate(this.jid, members, action); }); } kick(members) { return __awaiter(this, void 0, void 0, function* () { return yield this.membersUpdate(members, 'remove'); }); } add(members) { return __awaiter(this, void 0, void 0, function* () { return yield this.membersUpdate(members, 'add'); }); } promote(members) { return __awaiter(this, void 0, void 0, function* () { return yield this.membersUpdate(members, 'promote'); }); } demote(members) { return __awaiter(this, void 0, void 0, function* () { return yield this.membersUpdate(members, 'demote'); }); } pendingMembers() { return __awaiter(this, void 0, void 0, function* () { return yield this.ctx._client.groupRequestParticipantsList(this.jid); }); } pendingMembersUpdate(members, action) { return __awaiter(this, void 0, void 0, function* () { return this.ctx._client.groupRequestParticipantsUpdate(this.jid, members, action); }); } approvePendingMembers(members) { return __awaiter(this, void 0, void 0, function* () { return this.pendingMembersUpdate(members, 'approve'); }); } rejectPendingMembers(members) { return __awaiter(this, void 0, void 0, function* () { return this.pendingMembersUpdate(members, 'reject'); }); } updateSetting(setting) { return __awaiter(this, void 0, void 0, function* () { yield this.ctx._client.groupSettingUpdate(this.jid, setting); }); } open() { return __awaiter(this, void 0, void 0, function* () { yield this.updateSetting('not_announcement'); }); } close() { return __awaiter(this, void 0, void 0, function* () { yield this.updateSetting('announcement'); }); } lock() { return __awaiter(this, void 0, void 0, function* () { yield this.updateSetting('locked'); }); } unlock() { return __awaiter(this, void 0, void 0, function* () { yield this.updateSetting('unlocked'); }); } } exports.GroupData = GroupData;