1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
|
"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.CLIEvent = void 0;
const GroupTypingMessage_1 = require("./GroupTypingMessage");
const User_1 = require("./User");
const DMTypingMessage_1 = require("./DMTypingMessage");
const GroupDataMessage_1 = require("./GroupDataMessage");
const DMDataMessage_1 = require("./DMDataMessage");
const UserDataType_1 = require("../enums/UserDataType");
const DMReactionMessage_1 = require("./DMReactionMessage");
const GroupReactionMessage_1 = require("./GroupReactionMessage");
const CLIDispatcher_1 = require("./CLIDispatcher");
const DMStickerMessage_1 = require("./DMStickerMessage");
const GroupStickerMessage_1 = require("./GroupStickerMessage");
const DMEditMessage_1 = require("./DMEditMessage");
const GroupEditMessage_1 = require("./GroupEditMessage");
const GroupDeleteMessage_1 = require("./GroupDeleteMessage");
const DMDeleteMessage_1 = require("./DMDeleteMessage");
/**
* A signal-cli event
*/
class CLIEvent {
static fromEvent(client, data) {
client.emit("cliEvent", data);
if (data.method === "receive") {
if (data.params.envelope.typingMessage) {
if (client.verbose)
console.log(data.params.envelope.typingMessage);
if (data.params.envelope.typingMessage.groupId) {
let message = new GroupTypingMessage_1.GroupTypingMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.typingMessage.action, data.params.envelope.typingMessage.timestamp, data.params.envelope.typingMessage.groupId, client);
client.emit("typingMessage", message);
}
else {
let message = new DMTypingMessage_1.DMTypingMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.typingMessage.action, data.params.envelope.typingMessage.timestamp, client);
client.emit("typingMessage", message);
}
}
else if (data.params.envelope.editMessage) {
if (client.verbose)
console.log(data.params.envelope.editMessage);
if (data.params.envelope.editMessage.dataMessage.groupInfo) {
let message = new GroupEditMessage_1.GroupEditMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.editMessage.dataMessage, data.params.envelope.editMessage.dataMessage.timestamp, data.params.envelope.editMessage.dataMessage.groupInfo.groupId, data.params.envelope.editMessage.targetSentTimestamp, client);
client.emit("editMessage", message);
}
else {
let message = new DMEditMessage_1.DMEditMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.editMessage.dataMessage, data.params.envelope.editMessage.dataMessage.timestamp, data.params.envelope.editMessage.targetSentTimestamp, client);
client.emit("editMessage", message);
}
}
else if (data.params.envelope.dataMessage) {
if (client.verbose)
console.log(data.params.envelope.dataMessage);
if (data.params.envelope.dataMessage.remoteDelete) {
if (data.params.envelope.dataMessage.groupInfo) {
let message = new GroupDeleteMessage_1.GroupDeleteMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, data.params.envelope.dataMessage.groupInfo.groupId, client, data.params.envelope.dataMessage.remoteDelete.timestamp);
client.emit("deleteMessage", message);
}
else {
let message = new DMDeleteMessage_1.DMDeleteMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, client, data.params.envelope.dataMessage.remoteDelete.timestamp);
client.emit("deleteMessage", message);
}
}
else if (data.params.envelope.dataMessage.reaction) {
if (data.params.envelope.dataMessage.groupInfo) {
let message = new GroupReactionMessage_1.GroupReactionMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, data.params.envelope.dataMessage.groupInfo.groupId, client);
client.emit("reaction", message);
if (message.removed) {
client.emit("reactionRemove", message);
}
else {
client.emit("reactionAdd", message);
}
}
else {
let message = new DMReactionMessage_1.DMReactionMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, client);
client.emit("reaction", message);
if (message.removed) {
client.emit("reactionRemove", message);
}
else {
client.emit("reactionAdd", message);
}
}
}
else if (data.params.envelope.dataMessage.sticker) {
CLIDispatcher_1.CLIDispatcher.dispatch("listStickerPacks", {}, client.process).then((cliData) => {
client.stickerPacks['list'] = cliData.result;
if (data.params.envelope.dataMessage.groupInfo) {
let message = new GroupStickerMessage_1.GroupStickerMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, data.params.envelope.dataMessage.groupInfo.groupId, client);
client.emit("sticker", message);
}
else {
let message = new DMStickerMessage_1.DMStickerMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, client);
client.emit("sticker", message);
}
});
}
else {
if (data.params.envelope.dataMessage.groupInfo) {
let message = new GroupDataMessage_1.GroupDataMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, data.params.envelope.dataMessage.groupInfo.groupId, client);
client.emit("message", message);
}
else {
let message = new DMDataMessage_1.DMDataMessage(new User_1.User(data.params.envelope, UserDataType_1.UserDataType.Envelope), data.params.envelope.dataMessage, data.params.envelope.dataMessage.timestamp, client);
client.emit("message", message);
}
}
}
}
}
}
exports.CLIEvent = CLIEvent;
//# sourceMappingURL=CLIEvent.js.map
|