-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmessages.ts
More file actions
82 lines (72 loc) · 1.22 KB
/
messages.ts
File metadata and controls
82 lines (72 loc) · 1.22 KB
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
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
// Define all message struct.
// Message media type: 0=text,1=image,2=audio,3=video
export enum Media {
TEXT = 0,
IMAGE = 1,
AUDIO = 2,
VIDEO = 3,
}
export enum Receiver {
ACTOR = 0,
GROUP = 1,
ROOM = 2,
PASSENGER = 3,
STRANGER = 4,
}
export interface Content {
media?: Media;
body: string;
}
export interface MessageTo {
to: {
id: string;
type?: Receiver;
};
content: Content;
push?: PushSettings;
remark?: string;
ack?: number;
}
export interface PushSettings {
enable?: boolean;
sound?: string;
prefix?: string;
suffix?: string;
overwrite?: string;
badge?: number;
contentAvailable?: boolean;
}
export interface MessageFrom {
from: {
id: string;
type?: Receiver;
gid?: string;
};
content: Content;
ts: number;
remark?: string;
}
export interface BasicMessageFrom {
content: Content;
ts: number;
remark?: string;
}
export interface SystemMessageFrom {
content: Content;
ts: number;
remark?: string;
}
export interface SystemMessageTo {
push?: PushSettings;
content: Content;
remark?: string;
}
export interface YourselfMessageFrom {
to: {
id: string;
type?: Receiver;
};
content: Content;
ts: number;
remark?: string;
}