summaryrefslogtreecommitdiff
path: root/classes/GroupTypingMessage.ts
blob: d887e08c0f69974249523a66a1bc4b1b3b159e1e (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import {User} from "./User";
import {ReceivedMessage} from "./ReceivedMessage";
import {GroupMessage} from "./GroupMessage";
import {Group} from "./Group";
import {Client} from "./Client";
import {TypingMessageAction} from "../enums/TypingMessageAction";
import {TypingMessage} from "./TypingMessage";

/**
 * A {@link TypingMessage} sent in a {@link Group}
 */
export class GroupTypingMessage extends GroupMessage implements TypingMessage {
    /**
     * Action associated with the typing message
     */
    public action: TypingMessageAction;

    /**
     * @param user - The author of the message
     * @param action - The action associated with the typing message
     * @param time - The timestamp the message was sent at
     * @param groupId - The group the message was sent in
     * @param client
     * @internal
     */
    constructor(user: User, action: TypingMessageAction, time: number, groupId: string, client: Client) {
        super(user, time, new Group(groupId, client), client);
        this.action = action;
    }
}