diff options
Diffstat (limited to 'classes/ReceivedMessage.ts')
-rw-r--r-- | classes/ReceivedMessage.ts | 33 |
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 |