diff options
108 files changed, 1009 insertions, 129 deletions
diff --git a/README.md b/README.md new file mode 100644 index 0000000..35f3def --- /dev/null +++ b/README.md @@ -0,0 +1,16 @@ +# Signal.js, an easy-to-use Node.js library for Signal + +Signal.js makes it easy to create bots or other automated applications for Signal using Node.js, with a fully object-oriented, typed and aims to cover all of Signal's features in the future. + +## Installation +* First, download [signal-cli](https://github.com/AsamK/signal-cli) and install it either in your `$PATH` or in a place where it can be executed. +* Run `npm install --save git+https://git.equestria.dev/equestria.dev/signal.js.git` +* You are now ready to work with Signal.js + +## Getting started +Soon™ + +## Develop responsibly +Signal is run by a non-profit and moderating it is almost impossible due to the encrypted nature of the application. The Signal.js developers do not encourage using Signal.js for abusive purposes. + +Please abide to the [Signal Terms of Service](https://signal.org/legal/#terms-of-service) while using this library, the developers claim absolutely no responsibility in the event your Signal account gets terminated due to abuse.
\ No newline at end of file diff --git a/ROADMAP.md b/ROADMAP.md new file mode 100644 index 0000000..11d26e6 --- /dev/null +++ b/ROADMAP.md @@ -0,0 +1,47 @@ +# signal.js 1.0 roadmap + +* [ ] Receiving messages + * [x] <s>Typing messages</s> + * [x] <s>Text messages</s> + * [x] <s>Attachments</s> + * [x] <s>Replies</s> + * [ ] Formatting + * [ ] Stickers + * [ ] Voice messages + * [x] <s>Marking as read</s> + * [x] <s>Reactions</s> +* [ ] Sending messages + * [x] <s>Text</s> + * [ ] Attachments + * [ ] Replies + * [ ] Formatting (Markdown?) + * [ ] Typing status +* [ ] Registration + * [ ] Captchas + * [ ] SMS registration + * [ ] Voice registration + * [ ] Linking to another device + * [ ] Adding/changing/removing PIN +* [ ] Users + * [ ] (Un)Blocking + * [ ] Trusting + * [ ] Adding +* [ ] Groups + * [ ] Creating + * [ ] Updating + * [ ] Leave + * [ ] Join (from an invite link) +* [ ] Profile + * [ ] Avatar + * [ ] Name + * [ ] Status (emoji + text) + * [ ] Sticker packs + * [ ] Configuration + * [ ] Adding/removing linked devices +* [ ] Listings + * [ ] Known contacts + * [ ] Linked devices + * [ ] Groups + * [ ] Known identities + * [ ] Check if a phone number is on Signal + * [ ] Sticker packs
\ No newline at end of file diff --git a/classes/Attachment.ts b/classes/Attachment.ts new file mode 100644 index 0000000..a397924 --- /dev/null +++ b/classes/Attachment.ts @@ -0,0 +1,22 @@ +import {IMimeType} from "../types/IMimeType"; +import {AttachmentSize} from "./AttachmentSize"; + +export class Attachment { + public type: IMimeType; + public fileName: string; + public fileId: string; + public size: AttachmentSize; + public width?: number; + public height?: number; + public caption?: string; + + constructor(attachmentData: any) { + this.type = attachmentData.contentType; + this.fileName = attachmentData.filename; + this.fileId = attachmentData.id; + this.size = new AttachmentSize(attachmentData.size); + this.width = attachmentData.width; + this.height = attachmentData.height; + this.caption = attachmentData.caption; + } +}
\ No newline at end of file diff --git a/classes/AttachmentSize.ts b/classes/AttachmentSize.ts new file mode 100644 index 0000000..474e2b7 --- /dev/null +++ b/classes/AttachmentSize.ts @@ -0,0 +1,5 @@ +export class AttachmentSize extends Number { + constructor(props) { + super(props); + } +}
\ No newline at end of file diff --git a/classes/CLIEvent.ts b/classes/CLIEvent.ts index fe94fa2..0e35263 100644 --- a/classes/CLIEvent.ts +++ b/classes/CLIEvent.ts @@ -4,13 +4,18 @@ import {ICLIResponse} from "../types/ICLIResponse"; import {GroupTypingMessage} from "./GroupTypingMessage"; import {User} from "./User"; import {DMTypingMessage} from "./DMTypingMessage"; +import {GroupDataMessage} from "./GroupDataMessage"; +import {DMDataMessage} from "./DMDataMessage"; +import {UserDataType} from "../enums/UserDataType"; +import {DMReactionMessage} from "./DMReactionMessage"; +import {GroupReactionMessage} from "./GroupReactionMessage"; /** * A signal-cli event */ export class CLIEvent { static fromEvent(client: Client, data: ICLIEvent) { - console.log(data); + client.emit("cliEvent", data); if (data.method === "receive") { if (data.params.envelope.typingMessage) { @@ -18,7 +23,7 @@ export class CLIEvent { if (data.params.envelope.typingMessage.groupId) { let message: GroupTypingMessage = new GroupTypingMessage( - new User(data.params.envelope), + new User(data.params.envelope, UserDataType.Envelope), data.params.envelope.typingMessage.action, data.params.envelope.typingMessage.timestamp, data.params.envelope.typingMessage.groupId, @@ -28,7 +33,7 @@ export class CLIEvent { client.emit("typingMessage", message); } else { let message: DMTypingMessage = new DMTypingMessage( - new User(data.params.envelope), + new User(data.params.envelope, UserDataType.Envelope), data.params.envelope.typingMessage.action, data.params.envelope.typingMessage.timestamp, client @@ -36,6 +41,64 @@ export class CLIEvent { client.emit("typingMessage", message); } + } else if (data.params.envelope.dataMessage) { + console.log(data.params.envelope.dataMessage); + + if (data.params.envelope.dataMessage.reaction) { + if (data.params.envelope.dataMessage.groupInfo) { + let message: GroupReactionMessage = new GroupReactionMessage( + new User(data.params.envelope, 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: DMReactionMessage = new DMReactionMessage( + new User(data.params.envelope, 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.groupInfo) { + let message: GroupDataMessage = new GroupDataMessage( + new User(data.params.envelope, 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: DMDataMessage = new DMDataMessage( + new User(data.params.envelope, UserDataType.Envelope), + data.params.envelope.dataMessage, + data.params.envelope.dataMessage.timestamp, + client + ); + + client.emit("message", message); + } + } } } } diff --git a/classes/Client.ts b/classes/Client.ts index e21a3f9..ca5d794 100644 --- a/classes/Client.ts +++ b/classes/Client.ts @@ -3,12 +3,21 @@ import {ChildProcess, spawn} from "child_process"; import {ICLIEvent} from "../types/ICLIEvent"; import {CLIEvent} from "./CLIEvent"; import {SignalError} from "./SignalError"; -import EventEmitter from "events"; +import {EventEmitter} from "events"; import {DMTypingMessage} from "./DMTypingMessage"; import {GroupTypingMessage} from "./GroupTypingMessage"; +import {DMDataMessage} from "./DMDataMessage"; +import {GroupDataMessage} from "./GroupDataMessage"; +import {GroupReactionMessage} from "./GroupReactionMessage"; +import {DMReactionMessage} from "./DMReactionMessage"; export declare interface Client { + on(event: "cliEvent", listener: (event: ICLIEvent) => void): this; on(event: "typingMessage", listener: (message: GroupTypingMessage|DMTypingMessage) => void): this; + on(event: "message", listener: (message: GroupDataMessage|DMDataMessage) => void): this; + on(event: "reaction", listener: (message: GroupReactionMessage|DMReactionMessage) => void): this; + on(event: "reactionAdd", listener: (message: GroupReactionMessage|DMReactionMessage) => void): this; + on(event: "reactionRemove", listener: (message: GroupReactionMessage|DMReactionMessage) => void): this; } /** @@ -46,6 +55,7 @@ export class Client extends EventEmitter { if (JSON.parse(chunk.toString()).params) { let data: ICLIEvent = JSON.parse(chunk.toString()); + if (config.logEvents) console.log(data); CLIEvent.fromEvent(this, data); } }); diff --git a/classes/DM.ts b/classes/DM.ts index 52e52b3..f1fb0e9 100644 --- a/classes/DM.ts +++ b/classes/DM.ts @@ -16,7 +16,7 @@ export class DM extends Chat { this.client = client; } - async send(text: string, options?: ChatMessageOptions): Promise<void> { + public async send(text: string, options?: ChatMessageOptions): Promise<void> { await CLIDispatcher.dispatch( "send", { diff --git a/classes/DMDataMessage.ts b/classes/DMDataMessage.ts new file mode 100644 index 0000000..288162d --- /dev/null +++ b/classes/DMDataMessage.ts @@ -0,0 +1,52 @@ +import {User} from "./User"; +import {ReceivedMessage} from "./ReceivedMessage"; +import {GroupMessage} from "./GroupMessage"; +import {Group} from "./Group"; +import {DMMessage} from "./DMMessage"; +import {DM} from "./DM"; +import {Client} from "./Client"; +import {DataMessage} from "./DataMessage"; +import {Attachment} from "./Attachment"; +import {QuoteMessage} from "./QuoteMessage"; +import {CLIDispatcher} from "./CLIDispatcher"; +import {MessageReceipt} from "../enums/MessageReceipt"; + +/** + * A data message as sent by Signal + */ +export class DMDataMessage extends DMMessage implements DataMessage { + public content?: string; + public attachments: Attachment[] = []; + public quote?: QuoteMessage; + + constructor(user: User, data: any, time: number, client: Client) { + super(user, time, new DM(user.uuid, user.number, client), client, data.expiresInSeconds); + this.content = data.message && data.message.trim().length > 0 ? data.message : null; + if (data.quote) this.quote = new QuoteMessage(data.quote); + this.attachments = data.attachments?.map(i => new Attachment(i)); + } + + public async markAsRead() { + await CLIDispatcher.dispatch( + "sendReceipt", + { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt.Read + }, + this.client._process + ) + } + + public async markAsViewed() { + await CLIDispatcher.dispatch( + "sendReceipt", + { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt.Viewed + }, + this.client._process + ) + } +} diff --git a/classes/DMMessage.ts b/classes/DMMessage.ts index 4d925ca..5d94769 100644 --- a/classes/DMMessage.ts +++ b/classes/DMMessage.ts @@ -1,11 +1,12 @@ -import {Message} from "./Message"; +import {ReceivedMessage} from "./ReceivedMessage"; import {User} from "./User"; import {DM} from "./DM"; +import {Client} from "./Client"; -export class DMMessage extends Message { +export class DMMessage extends ReceivedMessage { public channel: DM; - constructor(user: User, time: number, dm: DM) { - super(user, time, dm); + constructor(user: User, time: number, dm: DM, client: Client, expirity?: number) { + super(user, time, dm, client, expirity); } }
\ No newline at end of file diff --git a/classes/DMReactionMessage.ts b/classes/DMReactionMessage.ts new file mode 100644 index 0000000..e890338 --- /dev/null +++ b/classes/DMReactionMessage.ts @@ -0,0 +1,26 @@ +import {User} from "./User"; +import {ReceivedMessage} from "./ReceivedMessage"; +import {GroupMessage} from "./GroupMessage"; +import {Group} from "./Group"; +import {DMMessage} from "./DMMessage"; +import {DM} from "./DM"; +import {Client} from "./Client"; +import {ReactionEmoji} from "./ReactionEmoji"; +import {ReactionTarget} from "./ReactionTarget"; +import {ReactionMessage} from "./ReactionMessage"; + +/** + * A reaction message as sent by Signal + */ +export class DMReactionMessage extends DMMessage implements ReactionMessage { + public emoji: ReactionEmoji; + public removed: boolean; + public target: ReactionTarget; + + constructor(user: User, data: any, time: number, client: Client) { + super(user, time, new DM(user.uuid, user.number, client), client, data.expiresInSeconds); + this.removed = data.reaction.isRemove; + this.emoji = new ReactionEmoji(data.reaction.emoji); + this.target = new ReactionTarget(data, this.channel, client); + } +}
\ No newline at end of file diff --git a/classes/DMTypingMessage.ts b/classes/DMTypingMessage.ts index a567b13..82471fb 100644 --- a/classes/DMTypingMessage.ts +++ b/classes/DMTypingMessage.ts @@ -1,26 +1,20 @@ import {User} from "./User"; -import {Message} from "./Message"; +import {ReceivedMessage} from "./ReceivedMessage"; import {GroupMessage} from "./GroupMessage"; import {Group} from "./Group"; import {DMMessage} from "./DMMessage"; import {DM} from "./DM"; import {Client} from "./Client"; +import {TypingMessageAction} from "../enums/TypingMessageAction"; /** * A typing message as sent by Signal */ export class DMTypingMessage extends DMMessage { public action: TypingMessageAction; - private client: Client; constructor(user: User, action: TypingMessageAction, time: number, client: Client) { - super(user, time, new DM(user.uuid, user.number, client)); - this.client = client; + super(user, time, new DM(user.uuid, user.number, client), client); this.action = action; } -} - -export enum TypingMessageAction { - Started = "STARTED", - Stopped = "STOPPED" }
\ No newline at end of file diff --git a/classes/DataMessage.ts b/classes/DataMessage.ts new file mode 100644 index 0000000..d699507 --- /dev/null +++ b/classes/DataMessage.ts @@ -0,0 +1,8 @@ +import {Attachment} from "./Attachment"; +import {QuoteMessage} from "./QuoteMessage"; + +export class DataMessage { + public content?: string; + public attachments: Attachment[] = []; + public quote?: QuoteMessage; +}
\ No newline at end of file diff --git a/classes/Group.ts b/classes/Group.ts index 2ae1867..33be799 100644 --- a/classes/Group.ts +++ b/classes/Group.ts @@ -14,7 +14,7 @@ export class Group extends Chat { this.client = client; } - async send(text: string, options?: ChatMessageOptions): Promise<void> { + public async send(text: string, options?: ChatMessageOptions): Promise<void> { let groupData = await CLIDispatcher.dispatch( "listGroups", { diff --git a/classes/GroupDataMessage.ts b/classes/GroupDataMessage.ts new file mode 100644 index 0000000..f692044 --- /dev/null +++ b/classes/GroupDataMessage.ts @@ -0,0 +1,51 @@ +import {User} from "./User"; +import {ReceivedMessage} from "./ReceivedMessage"; +import {GroupMessage} from "./GroupMessage"; +import {Group} from "./Group"; +import {Client} from "./Client"; +import {DataMessage} from "./DataMessage"; +import {Attachment} from "./Attachment"; +import {QuoteMessage} from "./QuoteMessage"; +import {CLIDispatcher} from "./CLIDispatcher"; +import {MessageReceipt} from "../enums/MessageReceipt"; + +/** + * A data message as sent by Signal + */ +export class GroupDataMessage extends GroupMessage implements DataMessage { + public content?: string; + public attachments: Attachment[] = []; + public quote?: QuoteMessage; + + constructor(user: User, data: any, time: number, groupId: string, client) { + super(user, time, new Group(groupId, client), client, data.expiresInSeconds); + this.client = client; + this.content = data.message && data.message.trim().length > 0 ? data.message : null; + if (data.quote) this.quote = new QuoteMessage(data.quote); + this.attachments = data.attachments?.map(i => new Attachment(i)); + } + + public async markAsRead() { + await CLIDispatcher.dispatch( + "sendReceipt", + { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt.Read + }, + this.client._process + ) + } + + public async markAsViewed() { + await CLIDispatcher.dispatch( + "sendReceipt", + { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt.Viewed + }, + this.client._process + ) + } +}
\ No newline at end of file diff --git a/classes/GroupMessage.ts b/classes/GroupMessage.ts index 5f8e2d7..99a88f6 100644 --- a/classes/GroupMessage.ts +++ b/classes/GroupMessage.ts @@ -1,11 +1,12 @@ -import {Message} from "./Message"; +import {ReceivedMessage} from "./ReceivedMessage"; import {User} from "./User"; import {Group} from "./Group"; +import {Client} from "./Client"; -export class GroupMessage extends Message { +export class GroupMessage extends ReceivedMessage { public channel: Group; - constructor(user: User, time: number, group: Group) { - super(user, time, group); + constructor(user: User, time: number, group: Group, client: Client, expirity?: number) { + super(user, time, group, client, expirity); } }
\ No newline at end of file diff --git a/classes/GroupReactionMessage.ts b/classes/GroupReactionMessage.ts new file mode 100644 index 0000000..5bba099 --- /dev/null +++ b/classes/GroupReactionMessage.ts @@ -0,0 +1,24 @@ +import {User} from "./User"; +import {ReceivedMessage} from "./ReceivedMessage"; +import {GroupMessage} from "./GroupMessage"; +import {Group} from "./Group"; +import {Client} from "./Client"; +import {ReactionEmoji} from "./ReactionEmoji"; +import {ReactionTarget} from "./ReactionTarget"; +import {ReactionMessage} from "./ReactionMessage"; + +/** + * A reaction message as sent by Signal + */ +export class GroupReactionMessage extends GroupMessage implements ReactionMessage { + public emoji: ReactionEmoji; + public removed: boolean; + public target: ReactionTarget; + + constructor(user: User, data: any, time: number, groupId: string, client: Client) { + super(user, time, new Group(groupId, client), client, data.expiresInSeconds); + this.removed = data.reaction.isRemove; + this.emoji = new ReactionEmoji(data.reaction.emoji); + this.target = new ReactionTarget(data, this.channel, client); + } +}
\ No newline at end of file diff --git a/classes/GroupTypingMessage.ts b/classes/GroupTypingMessage.ts index b48b8f7..5144df1 100644 --- a/classes/GroupTypingMessage.ts +++ b/classes/GroupTypingMessage.ts @@ -1,24 +1,18 @@ import {User} from "./User"; -import {Message} from "./Message"; +import {ReceivedMessage} from "./ReceivedMessage"; import {GroupMessage} from "./GroupMessage"; import {Group} from "./Group"; import {Client} from "./Client"; +import {TypingMessageAction} from "../enums/TypingMessageAction"; /** * A typing message as sent by Signal */ export class GroupTypingMessage extends GroupMessage { public action: TypingMessageAction; - private client: Client; - constructor(user: User, action: TypingMessageAction, time: number, groupId: string, client) { - super(user, time, new Group(groupId, client)); + constructor(user: User, action: TypingMessageAction, time: number, groupId: string, client: Client) { + super(user, time, new Group(groupId, client), client); this.action = action; - this.client = client; } -} - -export enum TypingMessageAction { - Started = "STARTED", - Stopped = "STOPPED" }
\ No newline at end of file diff --git a/classes/Message.ts b/classes/Message.ts deleted file mode 100644 index 32f017c..0000000 --- a/classes/Message.ts +++ /dev/null @@ -1,17 +0,0 @@ -import {User} from "./User"; -import {Group} from "./Group"; -import {DM} from "./DM"; - -export class Message { - public author: User; - public createdAt: Date; - public createdTimestamp: number; - public channel: DM|Group; - - constructor(user: User, time: number, channel: DM|Group) { - this.channel = channel; - this.author = user; - this.createdAt = new Date(time); - this.createdTimestamp = time; - } -}
\ No newline at end of file diff --git a/classes/QuoteMessage.ts b/classes/QuoteMessage.ts new file mode 100644 index 0000000..bfbea32 --- /dev/null +++ b/classes/QuoteMessage.ts @@ -0,0 +1,15 @@ +import {User} from "./User"; +import {Attachment} from "./Attachment"; +import {UserDataType} from "../enums/UserDataType"; + +export class QuoteMessage { + public author: User; + public content?: string; + public attachments?: Attachment[]; + + constructor(quoteData: any) { + this.author = new User(quoteData, UserDataType.Quote); + this.content = quoteData.text && quoteData.text.trim().length > 0 ? quoteData.text : null; + this.attachments = quoteData?.attachments.map(i => new Attachment(i)); + } +}
\ No newline at end of file diff --git a/classes/ReactionEmoji.ts b/classes/ReactionEmoji.ts new file mode 100644 index 0000000..6b755d6 --- /dev/null +++ b/classes/ReactionEmoji.ts @@ -0,0 +1,5 @@ +export class ReactionEmoji extends String { + constructor(props) { + super(props); + } +}
\ No newline at end of file diff --git a/classes/ReactionMessage.ts b/classes/ReactionMessage.ts new file mode 100644 index 0000000..95e5994 --- /dev/null +++ b/classes/ReactionMessage.ts @@ -0,0 +1,10 @@ +import {Attachment} from "./Attachment"; +import {QuoteMessage} from "./QuoteMessage"; +import {ReactionEmoji} from "./ReactionEmoji"; +import {ReactionTarget} from "./ReactionTarget"; + +export class ReactionMessage { + public emoji: ReactionEmoji; + public removed: boolean; + public target: ReactionTarget; +}
\ No newline at end of file diff --git a/classes/ReactionTarget.ts b/classes/ReactionTarget.ts new file mode 100644 index 0000000..e845253 --- /dev/null +++ b/classes/ReactionTarget.ts @@ -0,0 +1,12 @@ +import {User} from "./User"; +import {UserDataType} from "../enums/UserDataType"; +import {ReceivedMessage} from "./ReceivedMessage"; +import {DM} from "./DM"; +import {Group} from "./Group"; +import {Client} from "./Client"; + +export class ReactionTarget extends ReceivedMessage { + constructor(data: any, channel: DM|Group, client: Client) { + super(new User(data.reaction, UserDataType.Reaction), data.reaction.targetSentTimestamp, channel, client, null); + } +}
\ No newline at end of file diff --git a/classes/ReceivedMessage.ts b/classes/ReceivedMessage.ts new file mode 100644 index 0000000..2d6750c --- /dev/null +++ b/classes/ReceivedMessage.ts @@ -0,0 +1,33 @@ +import {User} from "./User"; +import {Group} from "./Group"; +import {DM} from "./DM"; +import {Client} from "./Client"; + +export class ReceivedMessage { + public client: Client; + public author: User; + public createdAt: Date; + public createdTimestamp: number; + public channel: DM|Group; + public ephemeral: boolean|null = false; + public expiresAt?: Date; + public expiresTimestamp?: number; + public expiresInSeconds?: number; + + constructor(user: User, time: number, channel: DM|Group, client: Client, expirity?: number|null) { + this.client = client; + this.channel = channel; + this.author = user; + this.createdAt = new Date(time); + this.createdTimestamp = time; + + if (expirity && expirity > 0) { + this.ephemeral = true; + this.expiresInSeconds = expirity; + this.expiresTimestamp = new Date().getTime() + (expirity * 1000); + this.expiresAt = new Date(new Date().getTime() + (expirity * 1000)); + } else if (expirity === null) { + this.ephemeral = null; + } + } +}
\ No newline at end of file diff --git a/classes/User.ts b/classes/User.ts index 882fa3b..f69eed2 100644 --- a/classes/User.ts +++ b/classes/User.ts @@ -1,13 +1,23 @@ +import {UserDataType} from "../enums/UserDataType"; + export class User { public number: string|null = null; public nickName: string|null = null; public uuid: string|null = null; public device: number|null = null; - constructor(envolope: any) { - if (envolope.sourceNumber && typeof envolope.sourceNumber === "string") this.number = envolope.sourceNumber; - if (envolope.sourceName && typeof envolope.sourceName === "string") this.nickName = envolope.sourceName; - if (envolope.sourceUuid && typeof envolope.sourceUuid === "string") this.uuid = envolope.sourceUuid; - if (envolope.sourceDevice && typeof envolope.sourceDevice === "string") this.device = envolope.sourceDevice; + constructor(data: any, dataType: UserDataType) { + if (dataType === UserDataType.Envelope) { + if (data.sourceNumber && typeof data.sourceNumber === "string") this.number = data.sourceNumber; + if (data.sourceName && typeof data.sourceName === "string") this.nickName = data.sourceName; + if (data.sourceUuid && typeof data.sourceUuid === "string") this.uuid = data.sourceUuid; + if (data.sourceDevice && typeof data.sourceDevice === "string") this.device = data.sourceDevice; + } else if (dataType === UserDataType.Quote) { + if (data.authorNumber && typeof data.authorNumber === "string") this.number = data.authorNumber; + if (data.authorUuid && typeof data.authorUuid === "string") this.uuid = data.authorUuid; + } else if (dataType === UserDataType.Reaction) { + if (data.targetAuthorNumber && typeof data.targetAuthorNumber === "string") this.number = data.targetAuthorNumber; + if (data.targetAuthorUuid && typeof data.targetAuthorUuid === "string") this.uuid = data.targetAuthorUuid; + } } }
\ No newline at end of file diff --git a/dist/classes/Attachment.d.ts b/dist/classes/Attachment.d.ts new file mode 100644 index 0000000..1b350a0 --- /dev/null +++ b/dist/classes/Attachment.d.ts @@ -0,0 +1,12 @@ +import { IMimeType } from "../types/IMimeType"; +import { AttachmentSize } from "./AttachmentSize"; +export declare class Attachment { + type: IMimeType; + fileName: string; + fileId: string; + size: AttachmentSize; + width?: number; + height?: number; + caption?: string; + constructor(attachmentData: any); +} diff --git a/dist/classes/Attachment.js b/dist/classes/Attachment.js new file mode 100644 index 0000000..0b4ad91 --- /dev/null +++ b/dist/classes/Attachment.js @@ -0,0 +1,17 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Attachment = void 0; +const AttachmentSize_1 = require("./AttachmentSize"); +class Attachment { + constructor(attachmentData) { + this.type = attachmentData.contentType; + this.fileName = attachmentData.filename; + this.fileId = attachmentData.id; + this.size = new AttachmentSize_1.AttachmentSize(attachmentData.size); + this.width = attachmentData.width; + this.height = attachmentData.height; + this.caption = attachmentData.caption; + } +} +exports.Attachment = Attachment; +//# sourceMappingURL=Attachment.js.map
\ No newline at end of file diff --git a/dist/classes/Attachment.js.map b/dist/classes/Attachment.js.map new file mode 100644 index 0000000..242b891 --- /dev/null +++ b/dist/classes/Attachment.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Attachment.js","sourceRoot":"","sources":["../../classes/Attachment.ts"],"names":[],"mappings":";;;AACA,qDAAgD;AAEhD,MAAa,UAAU;IASnB,YAAY,cAAmB;QAC3B,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC,WAAW,CAAC;QACvC,IAAI,CAAC,QAAQ,GAAG,cAAc,CAAC,QAAQ,CAAC;QACxC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,EAAE,CAAC;QAChC,IAAI,CAAC,IAAI,GAAG,IAAI,+BAAc,CAAC,cAAc,CAAC,IAAI,CAAC,CAAC;QACpD,IAAI,CAAC,KAAK,GAAG,cAAc,CAAC,KAAK,CAAC;QAClC,IAAI,CAAC,MAAM,GAAG,cAAc,CAAC,MAAM,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,cAAc,CAAC,OAAO,CAAC;IAC1C,CAAC;CACJ;AAlBD,gCAkBC"}
\ No newline at end of file diff --git a/dist/classes/AttachmentSize.d.ts b/dist/classes/AttachmentSize.d.ts new file mode 100644 index 0000000..0560e10 --- /dev/null +++ b/dist/classes/AttachmentSize.d.ts @@ -0,0 +1,3 @@ +export declare class AttachmentSize extends Number { + constructor(props: any); +} diff --git a/dist/classes/AttachmentSize.js b/dist/classes/AttachmentSize.js new file mode 100644 index 0000000..740f3bb --- /dev/null +++ b/dist/classes/AttachmentSize.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.AttachmentSize = void 0; +class AttachmentSize extends Number { + constructor(props) { + super(props); + } +} +exports.AttachmentSize = AttachmentSize; +//# sourceMappingURL=AttachmentSize.js.map
\ No newline at end of file diff --git a/dist/classes/AttachmentSize.js.map b/dist/classes/AttachmentSize.js.map new file mode 100644 index 0000000..faf9b7b --- /dev/null +++ b/dist/classes/AttachmentSize.js.map @@ -0,0 +1 @@ +{"version":3,"file":"AttachmentSize.js","sourceRoot":"","sources":["../../classes/AttachmentSize.ts"],"names":[],"mappings":";;;AAAA,MAAa,cAAe,SAAQ,MAAM;IACtC,YAAY,KAAK;QACb,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;CACJ;AAJD,wCAIC"}
\ No newline at end of file diff --git a/dist/classes/CLIEvent.js b/dist/classes/CLIEvent.js index 8b93ee1..888410a 100644 --- a/dist/classes/CLIEvent.js +++ b/dist/classes/CLIEvent.js @@ -4,24 +4,64 @@ 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"); /** * A signal-cli event */ class CLIEvent { static fromEvent(client, data) { - console.log(data); + client.emit("cliEvent", data); if (data.method === "receive") { if (data.params.envelope.typingMessage) { 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), data.params.envelope.typingMessage.action, data.params.envelope.typingMessage.timestamp, data.params.envelope.typingMessage.groupId, client); + 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), data.params.envelope.typingMessage.action, data.params.envelope.typingMessage.timestamp, client); + 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.dataMessage) { + console.log(data.params.envelope.dataMessage); + 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.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); + } + } + } } } static fromResponse(client, data) { diff --git a/dist/classes/CLIEvent.js.map b/dist/classes/CLIEvent.js.map index 7f4819e..049e718 100644 --- a/dist/classes/CLIEvent.js.map +++ b/dist/classes/CLIEvent.js.map @@ -1 +1 @@ -{"version":3,"file":"CLIEvent.js","sourceRoot":"","sources":["../../classes/CLIEvent.ts"],"names":[],"mappings":";;;AAGA,6DAAwD;AACxD,iCAA4B;AAC5B,uDAAkD;AAElD;;GAEG;AACH,MAAa,QAAQ;IACjB,MAAM,CAAC,SAAS,CAAC,MAAc,EAAE,IAAe;QAC5C,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;QAElB,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE;gBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAEhD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC5C,IAAI,OAAO,GAAuB,IAAI,uCAAkB,CACpD,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAC1C,MAAM,CACT,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBACzC;qBAAM;oBACH,IAAI,OAAO,GAAoB,IAAI,iCAAe,CAC9C,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAC9B,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAC5C,MAAM,CACT,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBACzC;aACJ;SACJ;IACL,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAAc,EAAE,IAAkB;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACJ;AAnCD,4BAmCC"}
\ No newline at end of file +{"version":3,"file":"CLIEvent.js","sourceRoot":"","sources":["../../classes/CLIEvent.ts"],"names":[],"mappings":";;;AAGA,6DAAwD;AACxD,iCAA4B;AAC5B,uDAAkD;AAClD,yDAAoD;AACpD,mDAA8C;AAC9C,wDAAmD;AACnD,2DAAsD;AACtD,iEAA4D;AAE5D;;GAEG;AACH,MAAa,QAAQ;IACjB,MAAM,CAAC,SAAS,CAAC,MAAc,EAAE,IAAe;QAC5C,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE;YAC3B,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,EAAE;gBACpC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC;gBAEhD,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAAE;oBAC5C,IAAI,OAAO,GAAuB,IAAI,uCAAkB,CACpD,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,CAAC,EACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAC5C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,OAAO,EAC1C,MAAM,CACT,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBACzC;qBAAM;oBACH,IAAI,OAAO,GAAoB,IAAI,iCAAe,CAC9C,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,CAAC,EACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,MAAM,EACzC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,aAAa,CAAC,SAAS,EAC5C,MAAM,CACT,CAAC;oBAEF,MAAM,CAAC,IAAI,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;iBACzC;aACJ;iBAAM,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAAE;gBACzC,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,CAAC;gBAE9C,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,QAAQ,EAAE;oBAC3C,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE;wBAC5C,IAAI,OAAO,GAAyB,IAAI,2CAAoB,CACxD,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,CAAC,EACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAClD,MAAM,CACT,CAAC;wBAEF,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBAEjC,IAAI,OAAO,CAAC,OAAO,EAAE;4BACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;yBAC1C;6BAAM;4BACH,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;yBACvC;qBACJ;yBAAM;wBACH,IAAI,OAAO,GAAsB,IAAI,qCAAiB,CAClD,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,CAAC,EACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAC1C,MAAM,CACT,CAAC;wBAEF,MAAM,CAAC,IAAI,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;wBAEjC,IAAI,OAAO,CAAC,OAAO,EAAE;4BACjB,MAAM,CAAC,IAAI,CAAC,gBAAgB,EAAE,OAAO,CAAC,CAAC;yBAC1C;6BAAM;4BACH,MAAM,CAAC,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC;yBACvC;qBACJ;iBACJ;qBAAM;oBACH,IAAI,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAAE;wBAC5C,IAAI,OAAO,GAAqB,IAAI,mCAAgB,CAChD,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,CAAC,EACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAC1C,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,CAAC,OAAO,EAClD,MAAM,CACT,CAAC;wBAEF,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;qBACnC;yBAAM;wBACH,IAAI,OAAO,GAAkB,IAAI,6BAAa,CAC1C,IAAI,WAAI,CAAC,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,CAAC,EACrD,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,EAChC,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,WAAW,CAAC,SAAS,EAC1C,MAAM,CACT,CAAC;wBAEF,MAAM,CAAC,IAAI,CAAC,SAAS,EAAE,OAAO,CAAC,CAAC;qBACnC;iBACJ;aACJ;SACJ;IACL,CAAC;IAED,MAAM,CAAC,YAAY,CAAC,MAAc,EAAE,IAAkB;QAClD,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;IACtB,CAAC;CACJ;AA7FD,4BA6FC"}
\ No newline at end of file diff --git a/dist/classes/Client.d.ts b/dist/classes/Client.d.ts index 080bac7..b22d01e 100644 --- a/dist/classes/Client.d.ts +++ b/dist/classes/Client.d.ts @@ -2,11 +2,21 @@ /// <reference types="node" /> import { IConfig } from "../types/IConfig"; import { ChildProcess } from "child_process"; -import EventEmitter from "events"; +import { ICLIEvent } from "../types/ICLIEvent"; +import { EventEmitter } from "events"; import { DMTypingMessage } from "./DMTypingMessage"; import { GroupTypingMessage } from "./GroupTypingMessage"; +import { DMDataMessage } from "./DMDataMessage"; +import { GroupDataMessage } from "./GroupDataMessage"; +import { GroupReactionMessage } from "./GroupReactionMessage"; +import { DMReactionMessage } from "./DMReactionMessage"; export declare interface Client { + on(event: "cliEvent", listener: (event: ICLIEvent) => void): this; on(event: "typingMessage", listener: (message: GroupTypingMessage | DMTypingMessage) => void): this; + on(event: "message", listener: (message: GroupDataMessage | DMDataMessage) => void): this; + on(event: "reaction", listener: (message: GroupReactionMessage | DMReactionMessage) => void): this; + on(event: "reactionAdd", listener: (message: GroupReactionMessage | DMReactionMessage) => void): this; + on(event: "reactionRemove", listener: (message: GroupReactionMessage | DMReactionMessage) => void): this; } /** * The base signal.js client diff --git a/dist/classes/Client.js b/dist/classes/Client.js index f5bc8cf..2395ed7 100644 --- a/dist/classes/Client.js +++ b/dist/classes/Client.js @@ -1,17 +1,14 @@ "use strict"; -var __importDefault = (this && this.__importDefault) || function (mod) { - return (mod && mod.__esModule) ? mod : { "default": mod }; -}; Object.defineProperty(exports, "__esModule", { value: true }); exports.Client = void 0; const child_process_1 = require("child_process"); const CLIEvent_1 = require("./CLIEvent"); const SignalError_1 = require("./SignalError"); -const events_1 = __importDefault(require("events")); +const events_1 = require("events"); /** * The base signal.js client */ -class Client extends events_1.default { +class Client extends events_1.EventEmitter { constructor(config) { super(); let command = config.signalCli ?? "signal-cli"; @@ -41,6 +38,8 @@ class Client extends events_1.default { return; if (JSON.parse(chunk.toString()).params) { let data = JSON.parse(chunk.toString()); + if (config.logEvents) + console.log(data); CLIEvent_1.CLIEvent.fromEvent(this, data); } }); diff --git a/dist/classes/Client.js.map b/dist/classes/Client.js.map index 0b4d890..a92a1b9 100644 --- a/dist/classes/Client.js.map +++ b/dist/classes/Client.js.map @@ -1 +1 @@ -{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../classes/Client.ts"],"names":[],"mappings":";;;;;;AACA,iDAAkD;AAElD,yCAAoC;AACpC,+CAA0C;AAC1C,oDAAkC;AAQlC;;GAEG;AACH,MAAa,MAAO,SAAQ,gBAAY;IAIpC,YAAY,MAAe;QACvB,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,GAAW,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC;QACvD,IAAI,UAAU,GAAa,EAAE,CAAC;QAE9B,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,MAAM,CAAC,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,UAAU;YAAE,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACpG,IAAI,MAAM,CAAC,WAAW;YAAE,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,UAAU;YAAE,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAEpF,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI;YAC9E,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrC,IAAI,IAAI,GAAc,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnD,mBAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAClC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACzD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACzD,MAAM,IAAI,yBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QAChE,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA1CD,wBA0CC"}
\ No newline at end of file +{"version":3,"file":"Client.js","sourceRoot":"","sources":["../../classes/Client.ts"],"names":[],"mappings":";;;AACA,iDAAkD;AAElD,yCAAoC;AACpC,+CAA0C;AAC1C,mCAAoC;AAiBpC;;GAEG;AACH,MAAa,MAAO,SAAQ,qBAAY;IAIpC,YAAY,MAAe;QACvB,KAAK,EAAE,CAAC;QAER,IAAI,OAAO,GAAW,MAAM,CAAC,SAAS,IAAI,YAAY,CAAC;QACvD,IAAI,UAAU,GAAa,EAAE,CAAC;QAE9B,IAAI,MAAM,CAAC,MAAM,EAAE,IAAI;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC;QAEhE,IAAI,MAAM,CAAC,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;QACpD,IAAI,MAAM,CAAC,UAAU;YAAE,UAAU,CAAC,IAAI,CAAC,UAAU,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QACtE,IAAI,MAAM,CAAC,MAAM;YAAE,UAAU,CAAC,IAAI,CAAC,YAAY,EAAE,MAAM,CAAC,MAAM,CAAC,CAAC;QAChE,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ;YAAE,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC,IAAI,CAAC,WAAW,CAAC,CAAC,CAAC;QACpG,IAAI,MAAM,CAAC,WAAW;YAAE,UAAU,CAAC,IAAI,CAAC,uBAAuB,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;QACrF,IAAI,MAAM,CAAC,UAAU;YAAE,UAAU,CAAC,IAAI,CAAC,wBAAwB,EAAE,MAAM,CAAC,UAAU,CAAC,CAAC;QAEpF,UAAU,CAAC,IAAI,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAC7C,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;QAE3B,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,GAAG,IAAA,qBAAK,EAAC,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,IAAI;YAC9E,KAAK,EAAE,MAAM;YACb,WAAW,EAAE,IAAI;SACpB,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC;gBAAE,OAAO;YAEjD,IAAI,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE;gBACrC,IAAI,IAAI,GAAc,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;gBACnD,IAAI,MAAM,CAAC,SAAS;oBAAE,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC;gBACxC,mBAAQ,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;aAClC;QACL,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,EAAE,CAAC,KAAK,EAAE,EAAE;YACrC,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACzD,IAAI,KAAK,CAAC,QAAQ,EAAE,CAAC,IAAI,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC;gBAAE,OAAO;YACzD,MAAM,IAAI,yBAAW,CAAC,KAAK,CAAC,QAAQ,EAAE,EAAE,OAAO,EAAE,UAAU,CAAC,CAAA;QAChE,CAAC,CAAC,CAAC;IACP,CAAC;CACJ;AA3CD,wBA2CC"}
\ No newline at end of file diff --git a/dist/classes/DM.js.map b/dist/classes/DM.js.map index fb5a6f9..ed63007 100644 --- a/dist/classes/DM.js.map +++ b/dist/classes/DM.js.map @@ -1 +1 @@ -{"version":3,"file":"DM.js","sourceRoot":"","sources":["../../classes/DM.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAE5B,mDAA8C;AAG9C,MAAa,EAAG,SAAQ,WAAI;IAMxB,YAAY,MAAc,EAAE,MAAc,EAAE,MAAc;QACtD,KAAK,EAAE,CAAC;QANL,UAAK,GAAY,KAAK,CAAC;QAO1B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAA4B;QACjD,MAAM,6BAAa,CAAC,QAAQ,CACxB,MAAM,EACN;YACI,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACxB,OAAO,EAAE,IAAI;SAChB,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAA;IACL,CAAC;CACJ;AAvBD,gBAuBC"}
\ No newline at end of file +{"version":3,"file":"DM.js","sourceRoot":"","sources":["../../classes/DM.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAE5B,mDAA8C;AAG9C,MAAa,EAAG,SAAQ,WAAI;IAMxB,YAAY,MAAc,EAAE,MAAc,EAAE,MAAc;QACtD,KAAK,EAAE,CAAC;QANL,UAAK,GAAY,KAAK,CAAC;QAO1B,IAAI,CAAC,EAAE,GAAG,MAAM,CAAC;QACjB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAA4B;QACxD,MAAM,6BAAa,CAAC,QAAQ,CACxB,MAAM,EACN;YACI,SAAS,EAAE,CAAC,IAAI,CAAC,MAAM,CAAC;YACxB,OAAO,EAAE,IAAI;SAChB,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAA;IACL,CAAC;CACJ;AAvBD,gBAuBC"}
\ No newline at end of file diff --git a/dist/classes/DMDataMessage.d.ts b/dist/classes/DMDataMessage.d.ts new file mode 100644 index 0000000..61640c4 --- /dev/null +++ b/dist/classes/DMDataMessage.d.ts @@ -0,0 +1,17 @@ +import { User } from "./User"; +import { DMMessage } from "./DMMessage"; +import { Client } from "./Client"; +import { DataMessage } from "./DataMessage"; +import { Attachment } from "./Attachment"; +import { QuoteMessage } from "./QuoteMessage"; +/** + * A data message as sent by Signal + */ +export declare class DMDataMessage extends DMMessage implements DataMessage { + content?: string; + attachments: Attachment[]; + quote?: QuoteMessage; + constructor(user: User, data: any, time: number, client: Client); + markAsRead(): Promise<void>; + markAsViewed(): Promise<void>; +} diff --git a/dist/classes/DMDataMessage.js b/dist/classes/DMDataMessage.js new file mode 100644 index 0000000..deda9c9 --- /dev/null +++ b/dist/classes/DMDataMessage.js @@ -0,0 +1,38 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DMDataMessage = void 0; +const DMMessage_1 = require("./DMMessage"); +const DM_1 = require("./DM"); +const Attachment_1 = require("./Attachment"); +const QuoteMessage_1 = require("./QuoteMessage"); +const CLIDispatcher_1 = require("./CLIDispatcher"); +const MessageReceipt_1 = require("../enums/MessageReceipt"); +/** + * A data message as sent by Signal + */ +class DMDataMessage extends DMMessage_1.DMMessage { + constructor(user, data, time, client) { + super(user, time, new DM_1.DM(user.uuid, user.number, client), client, data.expiresInSeconds); + this.attachments = []; + this.content = data.message && data.message.trim().length > 0 ? data.message : null; + if (data.quote) + this.quote = new QuoteMessage_1.QuoteMessage(data.quote); + this.attachments = data.attachments?.map(i => new Attachment_1.Attachment(i)); + } + async markAsRead() { + await CLIDispatcher_1.CLIDispatcher.dispatch("sendReceipt", { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt_1.MessageReceipt.Read + }, this.client._process); + } + async markAsViewed() { + await CLIDispatcher_1.CLIDispatcher.dispatch("sendReceipt", { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt_1.MessageReceipt.Viewed + }, this.client._process); + } +} +exports.DMDataMessage = DMDataMessage; +//# sourceMappingURL=DMDataMessage.js.map
\ No newline at end of file diff --git a/dist/classes/DMDataMessage.js.map b/dist/classes/DMDataMessage.js.map new file mode 100644 index 0000000..b36467f --- /dev/null +++ b/dist/classes/DMDataMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DMDataMessage.js","sourceRoot":"","sources":["../../classes/DMDataMessage.ts"],"names":[],"mappings":";;;AAIA,2CAAsC;AACtC,6BAAwB;AAGxB,6CAAwC;AACxC,iDAA4C;AAC5C,mDAA8C;AAC9C,4DAAuD;AAEvD;;GAEG;AACH,MAAa,aAAc,SAAQ,qBAAS;IAKxC,YAAY,IAAU,EAAE,IAAS,EAAE,IAAY,EAAE,MAAc;QAC3D,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAJtF,gBAAW,GAAiB,EAAE,CAAC;QAKlC,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,6BAAa,CAAC,QAAQ,CACxB,aAAa,EACb;YACI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7B,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,IAAI,EAAE,+BAAc,CAAC,IAAI;SAC5B,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,YAAY;QACrB,MAAM,6BAAa,CAAC,QAAQ,CACxB,aAAa,EACb;YACI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7B,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,IAAI,EAAE,+BAAc,CAAC,MAAM;SAC9B,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAA;IACL,CAAC;CACJ;AAnCD,sCAmCC"}
\ No newline at end of file diff --git a/dist/classes/DMMessage.d.ts b/dist/classes/DMMessage.d.ts index db80d16..46fb474 100644 --- a/dist/classes/DMMessage.d.ts +++ b/dist/classes/DMMessage.d.ts @@ -1,7 +1,8 @@ -import { Message } from "./Message"; +import { ReceivedMessage } from "./ReceivedMessage"; import { User } from "./User"; import { DM } from "./DM"; -export declare class DMMessage extends Message { +import { Client } from "./Client"; +export declare class DMMessage extends ReceivedMessage { channel: DM; - constructor(user: User, time: number, dm: DM); + constructor(user: User, time: number, dm: DM, client: Client, expirity?: number); } diff --git a/dist/classes/DMMessage.js b/dist/classes/DMMessage.js index 8b75f1c..ae63b22 100644 --- a/dist/classes/DMMessage.js +++ b/dist/classes/DMMessage.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.DMMessage = void 0; -const Message_1 = require("./Message"); -class DMMessage extends Message_1.Message { - constructor(user, time, dm) { - super(user, time, dm); +const ReceivedMessage_1 = require("./ReceivedMessage"); +class DMMessage extends ReceivedMessage_1.ReceivedMessage { + constructor(user, time, dm, client, expirity) { + super(user, time, dm, client, expirity); } } exports.DMMessage = DMMessage; diff --git a/dist/classes/DMMessage.js.map b/dist/classes/DMMessage.js.map index b746237..21fed4c 100644 --- a/dist/classes/DMMessage.js.map +++ b/dist/classes/DMMessage.js.map @@ -1 +1 @@ -{"version":3,"file":"DMMessage.js","sourceRoot":"","sources":["../../classes/DMMessage.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAIlC,MAAa,SAAU,SAAQ,iBAAO;IAGlC,YAAY,IAAU,EAAE,IAAY,EAAE,EAAM;QACxC,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,CAAC,CAAC;IAC1B,CAAC;CACJ;AAND,8BAMC"}
\ No newline at end of file +{"version":3,"file":"DMMessage.js","sourceRoot":"","sources":["../../classes/DMMessage.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAKlD,MAAa,SAAU,SAAQ,iCAAe;IAG1C,YAAY,IAAU,EAAE,IAAY,EAAE,EAAM,EAAE,MAAc,EAAE,QAAiB;QAC3E,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC5C,CAAC;CACJ;AAND,8BAMC"}
\ No newline at end of file diff --git a/dist/classes/DMReactionMessage.d.ts b/dist/classes/DMReactionMessage.d.ts new file mode 100644 index 0000000..f87ca59 --- /dev/null +++ b/dist/classes/DMReactionMessage.d.ts @@ -0,0 +1,15 @@ +import { User } from "./User"; +import { DMMessage } from "./DMMessage"; +import { Client } from "./Client"; +import { ReactionEmoji } from "./ReactionEmoji"; +import { ReactionTarget } from "./ReactionTarget"; +import { ReactionMessage } from "./ReactionMessage"; +/** + * A reaction message as sent by Signal + */ +export declare class DMReactionMessage extends DMMessage implements ReactionMessage { + emoji: ReactionEmoji; + removed: boolean; + target: ReactionTarget; + constructor(user: User, data: any, time: number, client: Client); +} diff --git a/dist/classes/DMReactionMessage.js b/dist/classes/DMReactionMessage.js new file mode 100644 index 0000000..3c4f6ef --- /dev/null +++ b/dist/classes/DMReactionMessage.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DMReactionMessage = void 0; +const DMMessage_1 = require("./DMMessage"); +const DM_1 = require("./DM"); +const ReactionEmoji_1 = require("./ReactionEmoji"); +const ReactionTarget_1 = require("./ReactionTarget"); +/** + * A reaction message as sent by Signal + */ +class DMReactionMessage extends DMMessage_1.DMMessage { + constructor(user, data, time, client) { + super(user, time, new DM_1.DM(user.uuid, user.number, client), client, data.expiresInSeconds); + this.removed = data.reaction.isRemove; + this.emoji = new ReactionEmoji_1.ReactionEmoji(data.reaction.emoji); + this.target = new ReactionTarget_1.ReactionTarget(data, this.channel, client); + } +} +exports.DMReactionMessage = DMReactionMessage; +//# sourceMappingURL=DMReactionMessage.js.map
\ No newline at end of file diff --git a/dist/classes/DMReactionMessage.js.map b/dist/classes/DMReactionMessage.js.map new file mode 100644 index 0000000..df7ef33 --- /dev/null +++ b/dist/classes/DMReactionMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DMReactionMessage.js","sourceRoot":"","sources":["../../classes/DMReactionMessage.ts"],"names":[],"mappings":";;;AAIA,2CAAsC;AACtC,6BAAwB;AAExB,mDAA8C;AAC9C,qDAAgD;AAGhD;;GAEG;AACH,MAAa,iBAAkB,SAAQ,qBAAS;IAK5C,YAAY,IAAU,EAAE,IAAS,EAAE,IAAY,EAAE,MAAc;QAC3D,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QACzF,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;CACJ;AAXD,8CAWC"}
\ No newline at end of file diff --git a/dist/classes/DMTypingMessage.d.ts b/dist/classes/DMTypingMessage.d.ts index 232a13f..cce0ddd 100644 --- a/dist/classes/DMTypingMessage.d.ts +++ b/dist/classes/DMTypingMessage.d.ts @@ -1,15 +1,11 @@ import { User } from "./User"; import { DMMessage } from "./DMMessage"; import { Client } from "./Client"; +import { TypingMessageAction } from "../enums/TypingMessageAction"; /** * A typing message as sent by Signal */ export declare class DMTypingMessage extends DMMessage { action: TypingMessageAction; - private client; constructor(user: User, action: TypingMessageAction, time: number, client: Client); } -export declare enum TypingMessageAction { - Started = "STARTED", - Stopped = "STOPPED" -} diff --git a/dist/classes/DMTypingMessage.js b/dist/classes/DMTypingMessage.js index 5f756b4..f715fa5 100644 --- a/dist/classes/DMTypingMessage.js +++ b/dist/classes/DMTypingMessage.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.TypingMessageAction = exports.DMTypingMessage = void 0; +exports.DMTypingMessage = void 0; const DMMessage_1 = require("./DMMessage"); const DM_1 = require("./DM"); /** @@ -8,15 +8,9 @@ const DM_1 = require("./DM"); */ class DMTypingMessage extends DMMessage_1.DMMessage { constructor(user, action, time, client) { - super(user, time, new DM_1.DM(user.uuid, user.number, client)); - this.client = client; + super(user, time, new DM_1.DM(user.uuid, user.number, client), client); this.action = action; } } exports.DMTypingMessage = DMTypingMessage; -var TypingMessageAction; -(function (TypingMessageAction) { - TypingMessageAction["Started"] = "STARTED"; - TypingMessageAction["Stopped"] = "STOPPED"; -})(TypingMessageAction || (exports.TypingMessageAction = TypingMessageAction = {})); //# sourceMappingURL=DMTypingMessage.js.map
\ No newline at end of file diff --git a/dist/classes/DMTypingMessage.js.map b/dist/classes/DMTypingMessage.js.map index 408dfb5..fbad35e 100644 --- a/dist/classes/DMTypingMessage.js.map +++ b/dist/classes/DMTypingMessage.js.map @@ -1 +1 @@ -{"version":3,"file":"DMTypingMessage.js","sourceRoot":"","sources":["../../classes/DMTypingMessage.ts"],"names":[],"mappings":";;;AAIA,2CAAsC;AACtC,6BAAwB;AAGxB;;GAEG;AACH,MAAa,eAAgB,SAAQ,qBAAS;IAI1C,YAAY,IAAU,EAAE,MAA2B,EAAE,IAAY,EAAE,MAAc;QAC7E,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AATD,0CASC;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC3B,0CAAmB,CAAA;IACnB,0CAAmB,CAAA;AACvB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B"}
\ No newline at end of file +{"version":3,"file":"DMTypingMessage.js","sourceRoot":"","sources":["../../classes/DMTypingMessage.ts"],"names":[],"mappings":";;;AAIA,2CAAsC;AACtC,6BAAwB;AAIxB;;GAEG;AACH,MAAa,eAAgB,SAAQ,qBAAS;IAG1C,YAAY,IAAU,EAAE,MAA2B,EAAE,IAAY,EAAE,MAAc;QAC7E,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,OAAE,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAPD,0CAOC"}
\ No newline at end of file diff --git a/dist/classes/DataMessage.d.ts b/dist/classes/DataMessage.d.ts new file mode 100644 index 0000000..7f42e21 --- /dev/null +++ b/dist/classes/DataMessage.d.ts @@ -0,0 +1,7 @@ +import { Attachment } from "./Attachment"; +import { QuoteMessage } from "./QuoteMessage"; +export declare class DataMessage { + content?: string; + attachments: Attachment[]; + quote?: QuoteMessage; +} diff --git a/dist/classes/DataMessage.js b/dist/classes/DataMessage.js new file mode 100644 index 0000000..7d2a789 --- /dev/null +++ b/dist/classes/DataMessage.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.DataMessage = void 0; +class DataMessage { + constructor() { + this.attachments = []; + } +} +exports.DataMessage = DataMessage; +//# sourceMappingURL=DataMessage.js.map
\ No newline at end of file diff --git a/dist/classes/DataMessage.js.map b/dist/classes/DataMessage.js.map new file mode 100644 index 0000000..7275389 --- /dev/null +++ b/dist/classes/DataMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"DataMessage.js","sourceRoot":"","sources":["../../classes/DataMessage.ts"],"names":[],"mappings":";;;AAGA,MAAa,WAAW;IAAxB;QAEW,gBAAW,GAAiB,EAAE,CAAC;IAE1C,CAAC;CAAA;AAJD,kCAIC"}
\ No newline at end of file diff --git a/dist/classes/Group.js.map b/dist/classes/Group.js.map index 3a0aef4..08ad340 100644 --- a/dist/classes/Group.js.map +++ b/dist/classes/Group.js.map @@ -1 +1 @@ -{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../classes/Group.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAG5B,mDAA8C;AAE9C,MAAa,KAAM,SAAQ,WAAI;IAK3B,YAAY,OAAe,EAAE,MAAc;QACvC,KAAK,EAAE,CAAC;QALL,UAAK,GAAY,IAAI,CAAC;QAMzB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAA4B;QACjD,IAAI,SAAS,GAAG,MAAM,6BAAa,CAAC,QAAQ,CACxC,YAAY,EACZ;YACI,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,IAAI;SAChB,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;QAEF,MAAM,6BAAa,CAAC,QAAQ,CACxB,MAAM,EACN;YACI,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1F,OAAO,EAAE,IAAI;SAChB,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;IACN,CAAC;CACJ;AAhCD,sBAgCC"}
\ No newline at end of file +{"version":3,"file":"Group.js","sourceRoot":"","sources":["../../classes/Group.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAG5B,mDAA8C;AAE9C,MAAa,KAAM,SAAQ,WAAI;IAK3B,YAAY,OAAe,EAAE,MAAc;QACvC,KAAK,EAAE,CAAC;QALL,UAAK,GAAY,IAAI,CAAC;QAMzB,IAAI,CAAC,EAAE,GAAG,OAAO,CAAC;QAClB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;IAEM,KAAK,CAAC,IAAI,CAAC,IAAY,EAAE,OAA4B;QACxD,IAAI,SAAS,GAAG,MAAM,6BAAa,CAAC,QAAQ,CACxC,YAAY,EACZ;YACI,KAAK,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC;YAChB,SAAS,EAAE,EAAE;YACb,OAAO,EAAE,IAAI;SAChB,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;QAEF,MAAM,6BAAa,CAAC,QAAQ,CACxB,MAAM,EACN;YACI,OAAO,EAAE,IAAI,CAAC,EAAE;YAChB,SAAS,EAAE,SAAS,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC;YAC1F,OAAO,EAAE,IAAI;SAChB,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAC;IACN,CAAC;CACJ;AAhCD,sBAgCC"}
\ No newline at end of file diff --git a/dist/classes/GroupDataMessage.d.ts b/dist/classes/GroupDataMessage.d.ts new file mode 100644 index 0000000..fe00141 --- /dev/null +++ b/dist/classes/GroupDataMessage.d.ts @@ -0,0 +1,16 @@ +import { User } from "./User"; +import { GroupMessage } from "./GroupMessage"; +import { DataMessage } from "./DataMessage"; +import { Attachment } from "./Attachment"; +import { QuoteMessage } from "./QuoteMessage"; +/** + * A data message as sent by Signal + */ +export declare class GroupDataMessage extends GroupMessage implements DataMessage { + content?: string; + attachments: Attachment[]; + quote?: QuoteMessage; + constructor(user: User, data: any, time: number, groupId: string, client: any); + markAsRead(): Promise<void>; + markAsViewed(): Promise<void>; +} diff --git a/dist/classes/GroupDataMessage.js b/dist/classes/GroupDataMessage.js new file mode 100644 index 0000000..9eac787 --- /dev/null +++ b/dist/classes/GroupDataMessage.js @@ -0,0 +1,39 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GroupDataMessage = void 0; +const GroupMessage_1 = require("./GroupMessage"); +const Group_1 = require("./Group"); +const Attachment_1 = require("./Attachment"); +const QuoteMessage_1 = require("./QuoteMessage"); +const CLIDispatcher_1 = require("./CLIDispatcher"); +const MessageReceipt_1 = require("../enums/MessageReceipt"); +/** + * A data message as sent by Signal + */ +class GroupDataMessage extends GroupMessage_1.GroupMessage { + constructor(user, data, time, groupId, client) { + super(user, time, new Group_1.Group(groupId, client), client, data.expiresInSeconds); + this.attachments = []; + this.client = client; + this.content = data.message && data.message.trim().length > 0 ? data.message : null; + if (data.quote) + this.quote = new QuoteMessage_1.QuoteMessage(data.quote); + this.attachments = data.attachments?.map(i => new Attachment_1.Attachment(i)); + } + async markAsRead() { + await CLIDispatcher_1.CLIDispatcher.dispatch("sendReceipt", { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt_1.MessageReceipt.Read + }, this.client._process); + } + async markAsViewed() { + await CLIDispatcher_1.CLIDispatcher.dispatch("sendReceipt", { + recipient: this.author.number, + targetTimestamp: this.createdTimestamp, + type: MessageReceipt_1.MessageReceipt.Viewed + }, this.client._process); + } +} +exports.GroupDataMessage = GroupDataMessage; +//# sourceMappingURL=GroupDataMessage.js.map
\ No newline at end of file diff --git a/dist/classes/GroupDataMessage.js.map b/dist/classes/GroupDataMessage.js.map new file mode 100644 index 0000000..97ee669 --- /dev/null +++ b/dist/classes/GroupDataMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GroupDataMessage.js","sourceRoot":"","sources":["../../classes/GroupDataMessage.ts"],"names":[],"mappings":";;;AAEA,iDAA4C;AAC5C,mCAA8B;AAG9B,6CAAwC;AACxC,iDAA4C;AAC5C,mDAA8C;AAC9C,4DAAuD;AAEvD;;GAEG;AACH,MAAa,gBAAiB,SAAQ,2BAAY;IAK9C,YAAY,IAAU,EAAE,IAAS,EAAE,IAAY,EAAE,OAAe,EAAE,MAAM;QACpE,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,aAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAJ1E,gBAAW,GAAiB,EAAE,CAAC;QAKlC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,OAAO,IAAI,IAAI,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC;QACpF,IAAI,IAAI,CAAC,KAAK;YAAE,IAAI,CAAC,KAAK,GAAG,IAAI,2BAAY,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;QAC1D,IAAI,CAAC,WAAW,GAAG,IAAI,CAAC,WAAW,EAAE,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IACrE,CAAC;IAEM,KAAK,CAAC,UAAU;QACnB,MAAM,6BAAa,CAAC,QAAQ,CACxB,aAAa,EACb;YACI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7B,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,IAAI,EAAE,+BAAc,CAAC,IAAI;SAC5B,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAA;IACL,CAAC;IAEM,KAAK,CAAC,YAAY;QACrB,MAAM,6BAAa,CAAC,QAAQ,CACxB,aAAa,EACb;YACI,SAAS,EAAE,IAAI,CAAC,MAAM,CAAC,MAAM;YAC7B,eAAe,EAAE,IAAI,CAAC,gBAAgB;YACtC,IAAI,EAAE,+BAAc,CAAC,MAAM;SAC9B,EACD,IAAI,CAAC,MAAM,CAAC,QAAQ,CACvB,CAAA;IACL,CAAC;CACJ;AApCD,4CAoCC"}
\ No newline at end of file diff --git a/dist/classes/GroupMessage.d.ts b/dist/classes/GroupMessage.d.ts index 44197fd..f27a937 100644 --- a/dist/classes/GroupMessage.d.ts +++ b/dist/classes/GroupMessage.d.ts @@ -1,7 +1,8 @@ -import { Message } from "./Message"; +import { ReceivedMessage } from "./ReceivedMessage"; import { User } from "./User"; import { Group } from "./Group"; -export declare class GroupMessage extends Message { +import { Client } from "./Client"; +export declare class GroupMessage extends ReceivedMessage { channel: Group; - constructor(user: User, time: number, group: Group); + constructor(user: User, time: number, group: Group, client: Client, expirity?: number); } diff --git a/dist/classes/GroupMessage.js b/dist/classes/GroupMessage.js index 7e178d5..c790b12 100644 --- a/dist/classes/GroupMessage.js +++ b/dist/classes/GroupMessage.js @@ -1,10 +1,10 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.GroupMessage = void 0; -const Message_1 = require("./Message"); -class GroupMessage extends Message_1.Message { - constructor(user, time, group) { - super(user, time, group); +const ReceivedMessage_1 = require("./ReceivedMessage"); +class GroupMessage extends ReceivedMessage_1.ReceivedMessage { + constructor(user, time, group, client, expirity) { + super(user, time, group, client, expirity); } } exports.GroupMessage = GroupMessage; diff --git a/dist/classes/GroupMessage.js.map b/dist/classes/GroupMessage.js.map index 4399844..ccc35e6 100644 --- a/dist/classes/GroupMessage.js.map +++ b/dist/classes/GroupMessage.js.map @@ -1 +1 @@ -{"version":3,"file":"GroupMessage.js","sourceRoot":"","sources":["../../classes/GroupMessage.ts"],"names":[],"mappings":";;;AAAA,uCAAkC;AAIlC,MAAa,YAAa,SAAQ,iBAAO;IAGrC,YAAY,IAAU,EAAE,IAAY,EAAE,KAAY;QAC9C,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,CAAC;IAC7B,CAAC;CACJ;AAND,oCAMC"}
\ No newline at end of file +{"version":3,"file":"GroupMessage.js","sourceRoot":"","sources":["../../classes/GroupMessage.ts"],"names":[],"mappings":";;;AAAA,uDAAkD;AAKlD,MAAa,YAAa,SAAQ,iCAAe;IAG7C,YAAY,IAAU,EAAE,IAAY,EAAE,KAAY,EAAE,MAAc,EAAE,QAAiB;QACjF,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;IAC/C,CAAC;CACJ;AAND,oCAMC"}
\ No newline at end of file diff --git a/dist/classes/GroupReactionMessage.d.ts b/dist/classes/GroupReactionMessage.d.ts new file mode 100644 index 0000000..981d275 --- /dev/null +++ b/dist/classes/GroupReactionMessage.d.ts @@ -0,0 +1,15 @@ +import { User } from "./User"; +import { GroupMessage } from "./GroupMessage"; +import { Client } from "./Client"; +import { ReactionEmoji } from "./ReactionEmoji"; +import { ReactionTarget } from "./ReactionTarget"; +import { ReactionMessage } from "./ReactionMessage"; +/** + * A reaction message as sent by Signal + */ +export declare class GroupReactionMessage extends GroupMessage implements ReactionMessage { + emoji: ReactionEmoji; + removed: boolean; + target: ReactionTarget; + constructor(user: User, data: any, time: number, groupId: string, client: Client); +} diff --git a/dist/classes/GroupReactionMessage.js b/dist/classes/GroupReactionMessage.js new file mode 100644 index 0000000..d6c63ad --- /dev/null +++ b/dist/classes/GroupReactionMessage.js @@ -0,0 +1,20 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.GroupReactionMessage = void 0; +const GroupMessage_1 = require("./GroupMessage"); +const Group_1 = require("./Group"); +const ReactionEmoji_1 = require("./ReactionEmoji"); +const ReactionTarget_1 = require("./ReactionTarget"); +/** + * A reaction message as sent by Signal + */ +class GroupReactionMessage extends GroupMessage_1.GroupMessage { + constructor(user, data, time, groupId, client) { + super(user, time, new Group_1.Group(groupId, client), client, data.expiresInSeconds); + this.removed = data.reaction.isRemove; + this.emoji = new ReactionEmoji_1.ReactionEmoji(data.reaction.emoji); + this.target = new ReactionTarget_1.ReactionTarget(data, this.channel, client); + } +} +exports.GroupReactionMessage = GroupReactionMessage; +//# sourceMappingURL=GroupReactionMessage.js.map
\ No newline at end of file diff --git a/dist/classes/GroupReactionMessage.js.map b/dist/classes/GroupReactionMessage.js.map new file mode 100644 index 0000000..e5dc96b --- /dev/null +++ b/dist/classes/GroupReactionMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"GroupReactionMessage.js","sourceRoot":"","sources":["../../classes/GroupReactionMessage.ts"],"names":[],"mappings":";;;AAEA,iDAA4C;AAC5C,mCAA8B;AAE9B,mDAA8C;AAC9C,qDAAgD;AAGhD;;GAEG;AACH,MAAa,oBAAqB,SAAQ,2BAAY;IAKlD,YAAY,IAAU,EAAE,IAAS,EAAE,IAAY,EAAE,OAAe,EAAE,MAAc;QAC5E,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,aAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,EAAE,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;QACtC,IAAI,CAAC,KAAK,GAAG,IAAI,6BAAa,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;QACpD,IAAI,CAAC,MAAM,GAAG,IAAI,+BAAc,CAAC,IAAI,EAAE,IAAI,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC;IACjE,CAAC;CACJ;AAXD,oDAWC"}
\ No newline at end of file diff --git a/dist/classes/GroupTypingMessage.d.ts b/dist/classes/GroupTypingMessage.d.ts index 533eb5c..4c4af69 100644 --- a/dist/classes/GroupTypingMessage.d.ts +++ b/dist/classes/GroupTypingMessage.d.ts @@ -1,14 +1,11 @@ import { User } from "./User"; import { GroupMessage } from "./GroupMessage"; +import { Client } from "./Client"; +import { TypingMessageAction } from "../enums/TypingMessageAction"; /** * A typing message as sent by Signal */ export declare class GroupTypingMessage extends GroupMessage { action: TypingMessageAction; - private client; - constructor(user: User, action: TypingMessageAction, time: number, groupId: string, client: any); -} -export declare enum TypingMessageAction { - Started = "STARTED", - Stopped = "STOPPED" + constructor(user: User, action: TypingMessageAction, time: number, groupId: string, client: Client); } diff --git a/dist/classes/GroupTypingMessage.js b/dist/classes/GroupTypingMessage.js index 470d8c1..205b64e 100644 --- a/dist/classes/GroupTypingMessage.js +++ b/dist/classes/GroupTypingMessage.js @@ -1,6 +1,6 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); -exports.TypingMessageAction = exports.GroupTypingMessage = void 0; +exports.GroupTypingMessage = void 0; const GroupMessage_1 = require("./GroupMessage"); const Group_1 = require("./Group"); /** @@ -8,15 +8,9 @@ const Group_1 = require("./Group"); */ class GroupTypingMessage extends GroupMessage_1.GroupMessage { constructor(user, action, time, groupId, client) { - super(user, time, new Group_1.Group(groupId, client)); + super(user, time, new Group_1.Group(groupId, client), client); this.action = action; - this.client = client; } } exports.GroupTypingMessage = GroupTypingMessage; -var TypingMessageAction; -(function (TypingMessageAction) { - TypingMessageAction["Started"] = "STARTED"; - TypingMessageAction["Stopped"] = "STOPPED"; -})(TypingMessageAction || (exports.TypingMessageAction = TypingMessageAction = {})); //# sourceMappingURL=GroupTypingMessage.js.map
\ No newline at end of file diff --git a/dist/classes/GroupTypingMessage.js.map b/dist/classes/GroupTypingMessage.js.map index a59a935..0e6f94a 100644 --- a/dist/classes/GroupTypingMessage.js.map +++ b/dist/classes/GroupTypingMessage.js.map @@ -1 +1 @@ -{"version":3,"file":"GroupTypingMessage.js","sourceRoot":"","sources":["../../classes/GroupTypingMessage.ts"],"names":[],"mappings":";;;AAEA,iDAA4C;AAC5C,mCAA8B;AAG9B;;GAEG;AACH,MAAa,kBAAmB,SAAQ,2BAAY;IAIhD,YAAY,IAAU,EAAE,MAA2B,EAAE,IAAY,EAAE,OAAe,EAAE,MAAM;QACtF,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,aAAK,CAAC,OAAO,EAAE,MAAM,CAAC,CAAC,CAAC;QAC9C,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AATD,gDASC;AAED,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC3B,0CAAmB,CAAA;IACnB,0CAAmB,CAAA;AACvB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B"}
\ No newline at end of file +{"version":3,"file":"GroupTypingMessage.js","sourceRoot":"","sources":["../../classes/GroupTypingMessage.ts"],"names":[],"mappings":";;;AAEA,iDAA4C;AAC5C,mCAA8B;AAI9B;;GAEG;AACH,MAAa,kBAAmB,SAAQ,2BAAY;IAGhD,YAAY,IAAU,EAAE,MAA2B,EAAE,IAAY,EAAE,OAAe,EAAE,MAAc;QAC9F,KAAK,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,aAAK,CAAC,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,CAAC;QACtD,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACzB,CAAC;CACJ;AAPD,gDAOC"}
\ No newline at end of file diff --git a/dist/classes/Message.d.ts b/dist/classes/Message.d.ts index 5fca52e..800d11e 100644 --- a/dist/classes/Message.d.ts +++ b/dist/classes/Message.d.ts @@ -1,10 +1,12 @@ import { User } from "./User"; import { Group } from "./Group"; import { DM } from "./DM"; +import { Client } from "./Client"; export declare class Message { + client: Client; author: User; createdAt: Date; createdTimestamp: number; channel: DM | Group; - constructor(user: User, time: number, channel: DM | Group); + constructor(user: User, time: number, channel: DM | Group, client: Client); } diff --git a/dist/classes/Message.js b/dist/classes/Message.js index 18e0f75..4cf7b8f 100644 --- a/dist/classes/Message.js +++ b/dist/classes/Message.js @@ -2,7 +2,8 @@ Object.defineProperty(exports, "__esModule", { value: true }); exports.Message = void 0; class Message { - constructor(user, time, channel) { + constructor(user, time, channel, client) { + this.client = client; this.channel = channel; this.author = user; this.createdAt = new Date(time); diff --git a/dist/classes/Message.js.map b/dist/classes/Message.js.map index 5b6f068..4f77ceb 100644 --- a/dist/classes/Message.js.map +++ b/dist/classes/Message.js.map @@ -1 +1 @@ -{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../classes/Message.ts"],"names":[],"mappings":";;;AAIA,MAAa,OAAO;IAMhB,YAAY,IAAU,EAAE,IAAY,EAAE,OAAiB;QACnD,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;CACJ;AAZD,0BAYC"}
\ No newline at end of file +{"version":3,"file":"Message.js","sourceRoot":"","sources":["../../classes/Message.ts"],"names":[],"mappings":";;;AAKA,MAAa,OAAO;IAOhB,YAAY,IAAU,EAAE,IAAY,EAAE,OAAiB,EAAE,MAAc;QACnE,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;IACjC,CAAC;CACJ;AAdD,0BAcC"}
\ No newline at end of file diff --git a/dist/classes/QuoteMessage.d.ts b/dist/classes/QuoteMessage.d.ts new file mode 100644 index 0000000..54b0b49 --- /dev/null +++ b/dist/classes/QuoteMessage.d.ts @@ -0,0 +1,8 @@ +import { User } from "./User"; +import { Attachment } from "./Attachment"; +export declare class QuoteMessage { + author: User; + content?: string; + attachments?: Attachment[]; + constructor(quoteData: any); +} diff --git a/dist/classes/QuoteMessage.js b/dist/classes/QuoteMessage.js new file mode 100644 index 0000000..411ff30 --- /dev/null +++ b/dist/classes/QuoteMessage.js @@ -0,0 +1,15 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.QuoteMessage = void 0; +const User_1 = require("./User"); +const Attachment_1 = require("./Attachment"); +const UserDataType_1 = require("../enums/UserDataType"); +class QuoteMessage { + constructor(quoteData) { + this.author = new User_1.User(quoteData, UserDataType_1.UserDataType.Quote); + this.content = quoteData.text && quoteData.text.trim().length > 0 ? quoteData.text : null; + this.attachments = quoteData?.attachments.map(i => new Attachment_1.Attachment(i)); + } +} +exports.QuoteMessage = QuoteMessage; +//# sourceMappingURL=QuoteMessage.js.map
\ No newline at end of file diff --git a/dist/classes/QuoteMessage.js.map b/dist/classes/QuoteMessage.js.map new file mode 100644 index 0000000..a1b6a46 --- /dev/null +++ b/dist/classes/QuoteMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"QuoteMessage.js","sourceRoot":"","sources":["../../classes/QuoteMessage.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAC5B,6CAAwC;AACxC,wDAAmD;AAEnD,MAAa,YAAY;IAKrB,YAAY,SAAc;QACtB,IAAI,CAAC,MAAM,GAAG,IAAI,WAAI,CAAC,SAAS,EAAE,2BAAY,CAAC,KAAK,CAAC,CAAC;QACtD,IAAI,CAAC,OAAO,GAAG,SAAS,CAAC,IAAI,IAAI,SAAS,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;QAC1F,IAAI,CAAC,WAAW,GAAG,SAAS,EAAE,WAAW,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,IAAI,uBAAU,CAAC,CAAC,CAAC,CAAC,CAAC;IAC1E,CAAC;CACJ;AAVD,oCAUC"}
\ No newline at end of file diff --git a/dist/classes/ReactionEmoji.d.ts b/dist/classes/ReactionEmoji.d.ts new file mode 100644 index 0000000..d70bf0f --- /dev/null +++ b/dist/classes/ReactionEmoji.d.ts @@ -0,0 +1,3 @@ +export declare class ReactionEmoji extends String { + constructor(props: any); +} diff --git a/dist/classes/ReactionEmoji.js b/dist/classes/ReactionEmoji.js new file mode 100644 index 0000000..3e83ecf --- /dev/null +++ b/dist/classes/ReactionEmoji.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ReactionEmoji = void 0; +class ReactionEmoji extends String { + constructor(props) { + super(props); + } +} +exports.ReactionEmoji = ReactionEmoji; +//# sourceMappingURL=ReactionEmoji.js.map
\ No newline at end of file diff --git a/dist/classes/ReactionEmoji.js.map b/dist/classes/ReactionEmoji.js.map new file mode 100644 index 0000000..51135ca --- /dev/null +++ b/dist/classes/ReactionEmoji.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactionEmoji.js","sourceRoot":"","sources":["../../classes/ReactionEmoji.ts"],"names":[],"mappings":";;;AAAA,MAAa,aAAc,SAAQ,MAAM;IACrC,YAAY,KAAK;QACb,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;CACJ;AAJD,sCAIC"}
\ No newline at end of file diff --git a/dist/classes/ReactionMessage.d.ts b/dist/classes/ReactionMessage.d.ts new file mode 100644 index 0000000..ef06f2a --- /dev/null +++ b/dist/classes/ReactionMessage.d.ts @@ -0,0 +1,7 @@ +import { ReactionEmoji } from "./ReactionEmoji"; +import { ReactionTarget } from "./ReactionTarget"; +export declare class ReactionMessage { + emoji: ReactionEmoji; + removed: boolean; + target: ReactionTarget; +} diff --git a/dist/classes/ReactionMessage.js b/dist/classes/ReactionMessage.js new file mode 100644 index 0000000..8204b85 --- /dev/null +++ b/dist/classes/ReactionMessage.js @@ -0,0 +1,7 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ReactionMessage = void 0; +class ReactionMessage { +} +exports.ReactionMessage = ReactionMessage; +//# sourceMappingURL=ReactionMessage.js.map
\ No newline at end of file diff --git a/dist/classes/ReactionMessage.js.map b/dist/classes/ReactionMessage.js.map new file mode 100644 index 0000000..064c506 --- /dev/null +++ b/dist/classes/ReactionMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactionMessage.js","sourceRoot":"","sources":["../../classes/ReactionMessage.ts"],"names":[],"mappings":";;;AAKA,MAAa,eAAe;CAI3B;AAJD,0CAIC"}
\ No newline at end of file diff --git a/dist/classes/ReactionTarget.d.ts b/dist/classes/ReactionTarget.d.ts new file mode 100644 index 0000000..e6ca383 --- /dev/null +++ b/dist/classes/ReactionTarget.d.ts @@ -0,0 +1,7 @@ +import { ReceivedMessage } from "./ReceivedMessage"; +import { DM } from "./DM"; +import { Group } from "./Group"; +import { Client } from "./Client"; +export declare class ReactionTarget extends ReceivedMessage { + constructor(data: any, channel: DM | Group, client: Client); +} diff --git a/dist/classes/ReactionTarget.js b/dist/classes/ReactionTarget.js new file mode 100644 index 0000000..c7ae0fb --- /dev/null +++ b/dist/classes/ReactionTarget.js @@ -0,0 +1,13 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ReactionTarget = void 0; +const User_1 = require("./User"); +const UserDataType_1 = require("../enums/UserDataType"); +const ReceivedMessage_1 = require("./ReceivedMessage"); +class ReactionTarget extends ReceivedMessage_1.ReceivedMessage { + constructor(data, channel, client) { + super(new User_1.User(data.reaction, UserDataType_1.UserDataType.Reaction), data.reaction.targetSentTimestamp, channel, client, null); + } +} +exports.ReactionTarget = ReactionTarget; +//# sourceMappingURL=ReactionTarget.js.map
\ No newline at end of file diff --git a/dist/classes/ReactionTarget.js.map b/dist/classes/ReactionTarget.js.map new file mode 100644 index 0000000..76e0dc6 --- /dev/null +++ b/dist/classes/ReactionTarget.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReactionTarget.js","sourceRoot":"","sources":["../../classes/ReactionTarget.ts"],"names":[],"mappings":";;;AAAA,iCAA4B;AAC5B,wDAAmD;AACnD,uDAAkD;AAKlD,MAAa,cAAe,SAAQ,iCAAe;IAC/C,YAAY,IAAS,EAAE,OAAiB,EAAE,MAAc;QACpD,KAAK,CAAC,IAAI,WAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,2BAAY,CAAC,QAAQ,CAAC,EAAE,IAAI,CAAC,QAAQ,CAAC,mBAAmB,EAAE,OAAO,EAAE,MAAM,EAAE,IAAI,CAAC,CAAC;IACpH,CAAC;CACJ;AAJD,wCAIC"}
\ No newline at end of file diff --git a/dist/classes/ReceivedMessage.d.ts b/dist/classes/ReceivedMessage.d.ts new file mode 100644 index 0000000..fa2bca5 --- /dev/null +++ b/dist/classes/ReceivedMessage.d.ts @@ -0,0 +1,16 @@ +import { User } from "./User"; +import { Group } from "./Group"; +import { DM } from "./DM"; +import { Client } from "./Client"; +export declare class ReceivedMessage { + client: Client; + author: User; + createdAt: Date; + createdTimestamp: number; + channel: DM | Group; + ephemeral: boolean | null; + expiresAt?: Date; + expiresTimestamp?: number; + expiresInSeconds?: number; + constructor(user: User, time: number, channel: DM | Group, client: Client, expirity?: number | null); +} diff --git a/dist/classes/ReceivedMessage.js b/dist/classes/ReceivedMessage.js new file mode 100644 index 0000000..6c19ac6 --- /dev/null +++ b/dist/classes/ReceivedMessage.js @@ -0,0 +1,24 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.ReceivedMessage = void 0; +class ReceivedMessage { + constructor(user, time, channel, client, expirity) { + this.ephemeral = false; + this.client = client; + this.channel = channel; + this.author = user; + this.createdAt = new Date(time); + this.createdTimestamp = time; + if (expirity && expirity > 0) { + this.ephemeral = true; + this.expiresInSeconds = expirity; + this.expiresTimestamp = new Date().getTime() + (expirity * 1000); + this.expiresAt = new Date(new Date().getTime() + (expirity * 1000)); + } + else if (expirity === null) { + this.ephemeral = null; + } + } +} +exports.ReceivedMessage = ReceivedMessage; +//# sourceMappingURL=ReceivedMessage.js.map
\ No newline at end of file diff --git a/dist/classes/ReceivedMessage.js.map b/dist/classes/ReceivedMessage.js.map new file mode 100644 index 0000000..148953d --- /dev/null +++ b/dist/classes/ReceivedMessage.js.map @@ -0,0 +1 @@ +{"version":3,"file":"ReceivedMessage.js","sourceRoot":"","sources":["../../classes/ReceivedMessage.ts"],"names":[],"mappings":";;;AAKA,MAAa,eAAe;IAWxB,YAAY,IAAU,EAAE,IAAY,EAAE,OAAiB,EAAE,MAAc,EAAE,QAAsB;QALxF,cAAS,GAAiB,KAAK,CAAC;QAMnC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;QACrB,IAAI,CAAC,OAAO,GAAG,OAAO,CAAC;QACvB,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC;QACnB,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,CAAC,CAAC;QAChC,IAAI,CAAC,gBAAgB,GAAG,IAAI,CAAC;QAE7B,IAAI,QAAQ,IAAI,QAAQ,GAAG,CAAC,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;YACtB,IAAI,CAAC,gBAAgB,GAAG,QAAQ,CAAC;YACjC,IAAI,CAAC,gBAAgB,GAAG,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC;YACjE,IAAI,CAAC,SAAS,GAAG,IAAI,IAAI,CAAC,IAAI,IAAI,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,CAAC,CAAC;SACvE;aAAM,IAAI,QAAQ,KAAK,IAAI,EAAE;YAC1B,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC;SACzB;IACL,CAAC;CACJ;AA3BD,0CA2BC"}
\ No newline at end of file diff --git a/dist/classes/Size.d.ts b/dist/classes/Size.d.ts new file mode 100644 index 0000000..0d3460a --- /dev/null +++ b/dist/classes/Size.d.ts @@ -0,0 +1,3 @@ +export declare class Size extends Number { + constructor(props: any); +} diff --git a/dist/classes/Size.js b/dist/classes/Size.js new file mode 100644 index 0000000..69d713e --- /dev/null +++ b/dist/classes/Size.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.Size = void 0; +class Size extends Number { + constructor(props) { + super(props); + } +} +exports.Size = Size; +//# sourceMappingURL=Size.js.map
\ No newline at end of file diff --git a/dist/classes/Size.js.map b/dist/classes/Size.js.map new file mode 100644 index 0000000..3c2fe73 --- /dev/null +++ b/dist/classes/Size.js.map @@ -0,0 +1 @@ +{"version":3,"file":"Size.js","sourceRoot":"","sources":["../../classes/Size.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAK,SAAQ,MAAM;IAC5B,YAAY,KAAK;QACb,KAAK,CAAC,KAAK,CAAC,CAAC;IACjB,CAAC;CACJ;AAJD,oBAIC"}
\ No newline at end of file diff --git a/dist/classes/User.d.ts b/dist/classes/User.d.ts index 6833d1c..f8a9752 100644 --- a/dist/classes/User.d.ts +++ b/dist/classes/User.d.ts @@ -1,7 +1,8 @@ +import { UserDataType } from "../enums/UserDataType"; export declare class User { number: string | null; nickName: string | null; uuid: string | null; device: number | null; - constructor(envolope: any); + constructor(data: any, dataType: UserDataType); } diff --git a/dist/classes/User.js b/dist/classes/User.js index bb9f504..ff8a3eb 100644 --- a/dist/classes/User.js +++ b/dist/classes/User.js @@ -1,20 +1,35 @@ "use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.User = void 0; +const UserDataType_1 = require("../enums/UserDataType"); class User { - constructor(envolope) { + constructor(data, dataType) { this.number = null; this.nickName = null; this.uuid = null; this.device = null; - if (envolope.sourceNumber && typeof envolope.sourceNumber === "string") - this.number = envolope.sourceNumber; - if (envolope.sourceName && typeof envolope.sourceName === "string") - this.nickName = envolope.sourceName; - if (envolope.sourceUuid && typeof envolope.sourceUuid === "string") - this.uuid = envolope.sourceUuid; - if (envolope.sourceDevice && typeof envolope.sourceDevice === "string") - this.device = envolope.sourceDevice; + if (dataType === UserDataType_1.UserDataType.Envelope) { + if (data.sourceNumber && typeof data.sourceNumber === "string") + this.number = data.sourceNumber; + if (data.sourceName && typeof data.sourceName === "string") + this.nickName = data.sourceName; + if (data.sourceUuid && typeof data.sourceUuid === "string") + this.uuid = data.sourceUuid; + if (data.sourceDevice && typeof data.sourceDevice === "string") + this.device = data.sourceDevice; + } + else if (dataType === UserDataType_1.UserDataType.Quote) { + if (data.authorNumber && typeof data.authorNumber === "string") + this.number = data.authorNumber; + if (data.authorUuid && typeof data.authorUuid === "string") + this.uuid = data.authorUuid; + } + else if (dataType === UserDataType_1.UserDataType.Reaction) { + if (data.targetAuthorNumber && typeof data.targetAuthorNumber === "string") + this.number = data.targetAuthorNumber; + if (data.targetAuthorUuid && typeof data.targetAuthorUuid === "string") + this.uuid = data.targetAuthorUuid; + } } } exports.User = User; diff --git a/dist/classes/User.js.map b/dist/classes/User.js.map index e32b414..9ddd1bb 100644 --- a/dist/classes/User.js.map +++ b/dist/classes/User.js.map @@ -1 +1 @@ -{"version":3,"file":"User.js","sourceRoot":"","sources":["../../classes/User.ts"],"names":[],"mappings":";;;AAAA,MAAa,IAAI;IAMb,YAAY,QAAa;QALlB,WAAM,GAAgB,IAAI,CAAC;QAC3B,aAAQ,GAAgB,IAAI,CAAC;QAC7B,SAAI,GAAgB,IAAI,CAAC;QACzB,WAAM,GAAgB,IAAI,CAAC;QAG9B,IAAI,QAAQ,CAAC,YAAY,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ;YAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;QAC5G,IAAI,QAAQ,CAAC,UAAU,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC,UAAU,CAAC;QACxG,IAAI,QAAQ,CAAC,UAAU,IAAI,OAAO,QAAQ,CAAC,UAAU,KAAK,QAAQ;YAAE,IAAI,CAAC,IAAI,GAAG,QAAQ,CAAC,UAAU,CAAC;QACpG,IAAI,QAAQ,CAAC,YAAY,IAAI,OAAO,QAAQ,CAAC,YAAY,KAAK,QAAQ;YAAE,IAAI,CAAC,MAAM,GAAG,QAAQ,CAAC,YAAY,CAAC;IAChH,CAAC;CACJ;AAZD,oBAYC"}
\ No newline at end of file +{"version":3,"file":"User.js","sourceRoot":"","sources":["../../classes/User.ts"],"names":[],"mappings":";;;AAAA,wDAAmD;AAEnD,MAAa,IAAI;IAMb,YAAY,IAAS,EAAE,QAAsB;QALtC,WAAM,GAAgB,IAAI,CAAC;QAC3B,aAAQ,GAAgB,IAAI,CAAC;QAC7B,SAAI,GAAgB,IAAI,CAAC;QACzB,WAAM,GAAgB,IAAI,CAAC;QAG9B,IAAI,QAAQ,KAAK,2BAAY,CAAC,QAAQ,EAAE;YACpC,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChG,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,UAAU,CAAC;YAC5F,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;YACxF,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;SACnG;aAAM,IAAI,QAAQ,KAAK,2BAAY,CAAC,KAAK,EAAE;YACxC,IAAI,IAAI,CAAC,YAAY,IAAI,OAAO,IAAI,CAAC,YAAY,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,YAAY,CAAC;YAChG,IAAI,IAAI,CAAC,UAAU,IAAI,OAAO,IAAI,CAAC,UAAU,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,UAAU,CAAC;SAC3F;aAAM,IAAI,QAAQ,KAAK,2BAAY,CAAC,QAAQ,EAAE;YAC3C,IAAI,IAAI,CAAC,kBAAkB,IAAI,OAAO,IAAI,CAAC,kBAAkB,KAAK,QAAQ;gBAAE,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,kBAAkB,CAAC;YAClH,IAAI,IAAI,CAAC,gBAAgB,IAAI,OAAO,IAAI,CAAC,gBAAgB,KAAK,QAAQ;gBAAE,IAAI,CAAC,IAAI,GAAG,IAAI,CAAC,gBAAgB,CAAC;SAC7G;IACL,CAAC;CACJ;AApBD,oBAoBC"}
\ No newline at end of file diff --git a/dist/enums/MessageReceipt.d.ts b/dist/enums/MessageReceipt.d.ts new file mode 100644 index 0000000..b1b55f2 --- /dev/null +++ b/dist/enums/MessageReceipt.d.ts @@ -0,0 +1,4 @@ +export declare enum MessageReceipt { + Read = "read", + Viewed = "viewed" +} diff --git a/dist/enums/MessageReceipt.js b/dist/enums/MessageReceipt.js new file mode 100644 index 0000000..acf503d --- /dev/null +++ b/dist/enums/MessageReceipt.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.MessageReceipt = void 0; +var MessageReceipt; +(function (MessageReceipt) { + MessageReceipt["Read"] = "read"; + MessageReceipt["Viewed"] = "viewed"; +})(MessageReceipt || (exports.MessageReceipt = MessageReceipt = {})); +//# sourceMappingURL=MessageReceipt.js.map
\ No newline at end of file diff --git a/dist/enums/MessageReceipt.js.map b/dist/enums/MessageReceipt.js.map new file mode 100644 index 0000000..d79a54e --- /dev/null +++ b/dist/enums/MessageReceipt.js.map @@ -0,0 +1 @@ +{"version":3,"file":"MessageReceipt.js","sourceRoot":"","sources":["../../enums/MessageReceipt.ts"],"names":[],"mappings":";;;AAAA,IAAY,cAGX;AAHD,WAAY,cAAc;IACtB,+BAAa,CAAA;IACb,mCAAiB,CAAA;AACrB,CAAC,EAHW,cAAc,8BAAd,cAAc,QAGzB"}
\ No newline at end of file diff --git a/dist/enums/TypingMessageAction.d.ts b/dist/enums/TypingMessageAction.d.ts new file mode 100644 index 0000000..4d7d860 --- /dev/null +++ b/dist/enums/TypingMessageAction.d.ts @@ -0,0 +1,4 @@ +export declare enum TypingMessageAction { + Started = "STARTED", + Stopped = "STOPPED" +} diff --git a/dist/enums/TypingMessageAction.js b/dist/enums/TypingMessageAction.js new file mode 100644 index 0000000..912ca7f --- /dev/null +++ b/dist/enums/TypingMessageAction.js @@ -0,0 +1,9 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.TypingMessageAction = void 0; +var TypingMessageAction; +(function (TypingMessageAction) { + TypingMessageAction["Started"] = "STARTED"; + TypingMessageAction["Stopped"] = "STOPPED"; +})(TypingMessageAction || (exports.TypingMessageAction = TypingMessageAction = {})); +//# sourceMappingURL=TypingMessageAction.js.map
\ No newline at end of file diff --git a/dist/enums/TypingMessageAction.js.map b/dist/enums/TypingMessageAction.js.map new file mode 100644 index 0000000..e2095c4 --- /dev/null +++ b/dist/enums/TypingMessageAction.js.map @@ -0,0 +1 @@ +{"version":3,"file":"TypingMessageAction.js","sourceRoot":"","sources":["../../enums/TypingMessageAction.ts"],"names":[],"mappings":";;;AAAA,IAAY,mBAGX;AAHD,WAAY,mBAAmB;IAC3B,0CAAmB,CAAA;IACnB,0CAAmB,CAAA;AACvB,CAAC,EAHW,mBAAmB,mCAAnB,mBAAmB,QAG9B"}
\ No newline at end of file diff --git a/dist/enums/UserDataType.d.ts b/dist/enums/UserDataType.d.ts new file mode 100644 index 0000000..790cca9 --- /dev/null +++ b/dist/enums/UserDataType.d.ts @@ -0,0 +1,5 @@ +export declare enum UserDataType { + Envelope = "envelope", + Quote = "quote", + Reaction = "reaction" +} diff --git a/dist/enums/UserDataType.js b/dist/enums/UserDataType.js new file mode 100644 index 0000000..93df91e --- /dev/null +++ b/dist/enums/UserDataType.js @@ -0,0 +1,10 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +exports.UserDataType = void 0; +var UserDataType; +(function (UserDataType) { + UserDataType["Envelope"] = "envelope"; + UserDataType["Quote"] = "quote"; + UserDataType["Reaction"] = "reaction"; +})(UserDataType || (exports.UserDataType = UserDataType = {})); +//# sourceMappingURL=UserDataType.js.map
\ No newline at end of file diff --git a/dist/enums/UserDataType.js.map b/dist/enums/UserDataType.js.map new file mode 100644 index 0000000..34b14dd --- /dev/null +++ b/dist/enums/UserDataType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"UserDataType.js","sourceRoot":"","sources":["../../enums/UserDataType.ts"],"names":[],"mappings":";;;AAAA,IAAY,YAIX;AAJD,WAAY,YAAY;IACpB,qCAAqB,CAAA;IACrB,+BAAe,CAAA;IACf,qCAAqB,CAAA;AACzB,CAAC,EAJW,YAAY,4BAAZ,YAAY,QAIvB"}
\ No newline at end of file diff --git a/dist/types/IConfig.d.ts b/dist/types/IConfig.d.ts index f479f25..e7fd91a 100644 --- a/dist/types/IConfig.d.ts +++ b/dist/types/IConfig.d.ts @@ -11,6 +11,10 @@ export interface IConfig { */ account: string; /** + * Whether events should be shown to `console.log`, used mainly for debugging + */ + logEvents?: boolean; + /** * An absolute or relative (to `process.cwd`) path to a signal-cli * executable. * diff --git a/dist/types/IConfig.js.map b/dist/types/IConfig.js.map index 2a71274..e070e6c 100644 --- a/dist/types/IConfig.js.map +++ b/dist/types/IConfig.js.map @@ -1 +1 @@ -{"version":3,"file":"IConfig.js","sourceRoot":"","sources":["../../types/IConfig.ts"],"names":[],"mappings":";;;AA2EA,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,4BAAc,CAAA;IACd,yCAA2B,CAAA;IAC3B,4BAAc,CAAA;AAClB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,yCAAI,CAAA;IACJ,yCAAI,CAAA;IACJ,+CAAO,CAAA;IACP,+CAAO,CAAA;AACX,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB"}
\ No newline at end of file +{"version":3,"file":"IConfig.js","sourceRoot":"","sources":["../../types/IConfig.ts"],"names":[],"mappings":";;;AAgFA,IAAY,WAIX;AAJD,WAAY,WAAW;IACnB,4BAAa,CAAA;IACb,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACvB,CAAC,EAJW,WAAW,2BAAX,WAAW,QAItB;AAED,IAAY,UAIX;AAJD,WAAY,UAAU;IAClB,4BAAc,CAAA;IACd,yCAA2B,CAAA;IAC3B,4BAAc,CAAA;AAClB,CAAC,EAJW,UAAU,0BAAV,UAAU,QAIrB;AAED,IAAY,SAKX;AALD,WAAY,SAAS;IACjB,yCAAI,CAAA;IACJ,yCAAI,CAAA;IACJ,+CAAO,CAAA;IACP,+CAAO,CAAA;AACX,CAAC,EALW,SAAS,yBAAT,SAAS,QAKpB"}
\ No newline at end of file diff --git a/dist/types/IMimeType.d.ts b/dist/types/IMimeType.d.ts new file mode 100644 index 0000000..132affd --- /dev/null +++ b/dist/types/IMimeType.d.ts @@ -0,0 +1 @@ +export type IMimeType = `${"application" | "audio" | "image" | "message" | "multipart" | "text" | "video" | "font" | "example" | "model" | "chemical"}/${string}`; diff --git a/dist/types/IMimeType.js b/dist/types/IMimeType.js new file mode 100644 index 0000000..431b4c6 --- /dev/null +++ b/dist/types/IMimeType.js @@ -0,0 +1,3 @@ +"use strict"; +Object.defineProperty(exports, "__esModule", { value: true }); +//# sourceMappingURL=IMimeType.js.map
\ No newline at end of file diff --git a/dist/types/IMimeType.js.map b/dist/types/IMimeType.js.map new file mode 100644 index 0000000..476d326 --- /dev/null +++ b/dist/types/IMimeType.js.map @@ -0,0 +1 @@ +{"version":3,"file":"IMimeType.js","sourceRoot":"","sources":["../../types/IMimeType.ts"],"names":[],"mappings":""}
\ No newline at end of file diff --git a/enums/MessageReceipt.ts b/enums/MessageReceipt.ts new file mode 100644 index 0000000..8e4b96c --- /dev/null +++ b/enums/MessageReceipt.ts @@ -0,0 +1,4 @@ +export enum MessageReceipt { + Read = "read", + Viewed = "viewed" +}
\ No newline at end of file diff --git a/enums/TypingMessageAction.ts b/enums/TypingMessageAction.ts new file mode 100644 index 0000000..76c4f95 --- /dev/null +++ b/enums/TypingMessageAction.ts @@ -0,0 +1,4 @@ +export enum TypingMessageAction { + Started = "STARTED", + Stopped = "STOPPED" +}
\ No newline at end of file diff --git a/enums/UserDataType.ts b/enums/UserDataType.ts new file mode 100644 index 0000000..c6179d9 --- /dev/null +++ b/enums/UserDataType.ts @@ -0,0 +1,5 @@ +export enum UserDataType { + Envelope = "envelope", + Quote = "quote", + Reaction = "reaction" +}
\ No newline at end of file diff --git a/package.json b/package.json index 4587789..5eb8d0f 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "signal.js", "version": "0.1.0", - "description": "An easy to use Node.js library for Signal", + "description": "An easy-to-use Node.js library for Signal", "main": "dist/index.js", "repository": { "type": "git", diff --git a/types/IConfig.ts b/types/IConfig.ts index c622e72..2de6dd9 100644 --- a/types/IConfig.ts +++ b/types/IConfig.ts @@ -13,6 +13,11 @@ export interface IConfig { account: string, /** + * Whether events should be shown to `console.log`, used mainly for debugging + */ + logEvents?: boolean, + + /** * An absolute or relative (to `process.cwd`) path to a signal-cli * executable. * diff --git a/types/IMimeType.ts b/types/IMimeType.ts new file mode 100644 index 0000000..607443f --- /dev/null +++ b/types/IMimeType.ts @@ -0,0 +1 @@ +export type IMimeType = `${"application"|"audio"|"image"|"message"|"multipart"|"text"|"video"|"font"|"example"|"model"|"chemical"}/${string}`;
\ No newline at end of file |