summaryrefslogtreecommitdiff
path: root/classes/ReceivedMessage.ts
diff options
context:
space:
mode:
Diffstat (limited to 'classes/ReceivedMessage.ts')
-rw-r--r--classes/ReceivedMessage.ts33
1 files changed, 33 insertions, 0 deletions
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