summaryrefslogtreecommitdiff
path: root/classes/Client.ts
diff options
context:
space:
mode:
Diffstat (limited to 'classes/Client.ts')
-rw-r--r--classes/Client.ts35
1 files changed, 33 insertions, 2 deletions
diff --git a/classes/Client.ts b/classes/Client.ts
index 7a071bf..f8968c7 100644
--- a/classes/Client.ts
+++ b/classes/Client.ts
@@ -21,57 +21,89 @@ import {Group} from "./Group";
export declare interface Client {
/**
+ * Emitted when a Signal event, even if unsupported, is received by signal-cli
* @event Client#cliEvent
*/
on(event: "cliEvent", listener: (event: ICLIEvent) => void): this;
/**
+ * Emitted when a typing message is received
* @event Client#typingMessage
*/
on(event: "typingMessage", listener: (message: GroupTypingMessage|DMTypingMessage) => void): this;
+
/**
+ * Emitted when a data (text) message is received
* @event Client#message
*/
on(event: "message", listener: (message: GroupDataMessage|DMDataMessage) => void): this;
+
/**
+ * Emitted when a message is edited
* @event Client#editMessage
*/
on(event: "editMessage", listener: (message: GroupEditMessage|DMEditMessage) => void): this;
+
/**
+ * Emitted when a reaction is added or removed to/from a message
* @event Client#reaction
*/
on(event: "reaction", listener: (message: GroupReactionMessage|DMReactionMessage) => void): this;
+
/**
+ * Emitted when a reaction is added to a message
* @event Client#reactionAdd
*/
on(event: "reactionAdd", listener: (message: GroupReactionMessage|DMReactionMessage) => void): this;
+
/**
+ * Emitted when a reaction is removed from a message
* @event Client#reactionRemove
*/
on(event: "reactionRemove", listener: (message: GroupReactionMessage|DMReactionMessage) => void): this;
+
/**
+ * Emitted when a sticker message is received
* @event Client#sticker
*/
on(event: "sticker", listener: (message: GroupStickerMessage|DMStickerMessage) => void): this;
+
/**
+ * Emitted when a message in a channel gets deleted
* @event Client#deleteMessage
*/
on(event: "deleteMessage", listener: (message: GroupDeleteMessage|DMDeleteMessage) => void): this;
/**
+ * Emitted when a group's information gets updated
* @event Client#groupUpdate
*/
on(event: "groupUpdate", listener: (group: Group) => void): this;
}
/**
- * The base signal.js client
+ * The base Signal.js client interface
*/
export class Client extends EventEmitter {
+ /**
+ * The signal-cli process
+ */
public process: ChildProcess;
+
+ /**
+ * An {@link ObjectCache} for the registered sticker packs
+ * @internal
+ */
public stickerPacks: ObjectCache = {};
+
+ /**
+ * Whether verbose mode (logging events) should be enabled
+ */
public verbose: boolean = false;
+ /**
+ * @param config - The configuration to use with signal-cli
+ */
constructor(config: IConfig) {
super();
@@ -83,7 +115,6 @@ export class Client extends EventEmitter {
if (config.scrubLog) parameters.push("--scrub-log");
if (config.configPath) parameters.push("--config", config.configPath);
if (config.cliLog) parameters.push("--log-file", config.cliLog);
- if (typeof config.verbose === "number") parameters.push(...Array(config.verbose).fill("--verbose"));
if (config.environment) parameters.push("--service-environment", config.environment);
if (config.trustLevel) parameters.push("--trust-new-identities", config.trustLevel);
if (config.logEvents) this.verbose = true;