diff options
Diffstat (limited to 'dist/classes/Group.js')
-rw-r--r-- | dist/classes/Group.js | 62 |
1 files changed, 62 insertions, 0 deletions
diff --git a/dist/classes/Group.js b/dist/classes/Group.js index 77aa2c6..af68954 100644 --- a/dist/classes/Group.js +++ b/dist/classes/Group.js @@ -4,6 +4,7 @@ exports.Group = void 0; const Channel_1 = require("./Channel"); const CLIDispatcher_1 = require("./CLIDispatcher"); const SentDataMessage_1 = require("./SentDataMessage"); +const GroupEditor_1 = require("./GroupEditor"); class Group extends Channel_1.Channel { constructor(groupId, client) { super(); @@ -48,6 +49,67 @@ class Group extends Channel_1.Channel { sticker: sticker.pack.id + ":" + sticker.id }, this.client.process); } + async setBlocked(blocked) { + let groupData = await CLIDispatcher_1.CLIDispatcher.dispatch("listGroups", {}, this.client.process); + if (blocked) { + await CLIDispatcher_1.CLIDispatcher.dispatch("block", { + groupId: this.id, + recipient: groupData['result'].filter(i => i.id === this.id)[0].members.map(i => i.number) + }, this.client.process); + } + else { + await CLIDispatcher_1.CLIDispatcher.dispatch("unblock", { + groupId: this.id, + recipient: groupData['result'].filter(i => i.id === this.id)[0].members.map(i => i.number) + }, this.client.process); + } + } + async editor() { + return new GroupEditor_1.GroupEditor(this, await CLIDispatcher_1.CLIDispatcher.dispatch("listGroups", {}, this.client.process), this.client); + } + async addAdmin(...users) { + await CLIDispatcher_1.CLIDispatcher.dispatch("updateGroup", { + groupId: this.id, + admin: users.map(i => i.number) + }, this.client.process); + } + async removeAdmin(...users) { + await CLIDispatcher_1.CLIDispatcher.dispatch("updateGroup", { + groupId: this.id, + removeAdmin: users.map(i => i.number) + }, this.client.process); + } + async addMember(...users) { + await CLIDispatcher_1.CLIDispatcher.dispatch("updateGroup", { + groupId: this.id, + member: users.map(i => i.number) + }, this.client.process); + } + async removeMember(...users) { + await CLIDispatcher_1.CLIDispatcher.dispatch("updateGroup", { + groupId: this.id, + removeMember: users.map(i => i.number) + }, this.client.process); + } + async banMember(...users) { + await CLIDispatcher_1.CLIDispatcher.dispatch("updateGroup", { + groupId: this.id, + ban: users.map(i => i.number) + }, this.client.process); + } + async unbanMember(...users) { + await CLIDispatcher_1.CLIDispatcher.dispatch("updateGroup", { + groupId: this.id, + unban: users.map(i => i.number) + }, this.client.process); + } + async leave(deleteLocalData = false, successorAdmins) { + await CLIDispatcher_1.CLIDispatcher.dispatch("quitGroup", { + groupId: this.id, + admin: successorAdmins?.map(i => i.number), + delete: deleteLocalData + }, this.client.process); + } } exports.Group = Group; //# sourceMappingURL=Group.js.map
\ No newline at end of file |