summaryrefslogtreecommitdiff
path: root/dist/classes/Group.js
diff options
context:
space:
mode:
Diffstat (limited to 'dist/classes/Group.js')
-rw-r--r--dist/classes/Group.js62
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