This repository has been archived by the owner on Mar 1, 2024. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 0
/
types.go
128 lines (115 loc) · 4.26 KB
/
types.go
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
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
package eventide
type GatewayURL struct {
URL string `json:"url"`
}
type User struct {
Id string `json:"id"`
Username string `json:"username"`
Discriminator string `json:"discriminator"`
Avatar string `json:"avatar"`
Bot bool `json:"bot"`
System bool `json:"system"`
MFAEnabled bool `json:"mfa_enabled"`
Banner string `json:"banner"`
AccentColor int `json:"accent_color"`
Locale string `json:"locale"`
Verified bool `json:"verified"`
Email string `json:"email"`
Flags int `json:"flags"`
PremiumType int `json:"premium_type"`
PublicFlags int `json:"public_flags"`
}
type Message struct {
ID string `json:"id"`
ChannelID string `json:"channel_id"`
GuildId string `json:"guild_id,omitempty"`
Author *User `json:"author"`
Member any `json:"member"`
Content string `json:"content"`
Timestamp string `json:"timestamp"`
EditedTimestamp string `json:"edited_timestamp"`
TTS bool `json:"tts"`
MentionEveryone bool `json:"mention_everyone"`
Mentions []*User `json:"mentions"`
MentionRoles any `json:"mention_roles"`
MentionChannels any `json:"mention_channels"`
Attachments any `json:"attachments"`
Embeds any `json:"embeds"`
Reactions any `json:"reactions"`
Pinned bool `json:"pinned"`
WebhookID string `json:"webhook_id"`
Type int `json:"type"`
Activity any `json:"activity"`
Application any `json:"application"`
ApplicationID string `json:"application_id"`
MessageReference any `json:"message_reference"`
Flags int `json:"flags"`
ReferencedMessage *Message `json:"referenced_message"`
Interaction any `json:"interaction"`
Thread any `json:"thread,omitempty"`
Components any `json:"components"`
StickerItems any `json:"sticker_items"`
Stickers any `json:"stickers"`
}
type MessageReference struct {
MessageID string `json:"message_id"`
ChannelID string `json:"channel_id"`
GuildID string `json:"guild_id,omitempty"`
}
type MessageSend struct {
Content string `json:"content,omitempty"`
Embeds []*Embed `json:"embeds"`
TTS bool `json:"tts"`
}
type Embed struct {
Title string `json:"title,omitempty"`
Type string `json:"type,omitempty"`
Description string `json:"description,omitempty"`
URL string `json:"url,omitempty"`
Timestamp string `json:"timestamp,omitempty"`
Color int `json:"color,omitempty"`
Footer *EmbedFooter `json:"footer,omitempty"`
Image *EmbedImage `json:"image,omitempty"`
Thumbnail *EmbedThumbnail `json:"thumbnail,omitempty"`
Video *EmbedVideo `json:"video,omitempty"`
Provider *EmbedProvider `json:"provider,omitempty"`
Author *EmbedAuthor `json:"author,omitempty"`
Fields []*EmbedField `json:"fields,omitempty"`
}
type EmbedFooter struct {
Text string `json:"text,omitempty"`
IconURL string `json:"icon_url,omitempty"`
ProxyIconURL string `json:"proxy_icon_url,omitempty"`
}
type EmbedImage struct {
URL string `json:"url"`
ProxyURL string `json:"proxy_url,omitempty"`
Width int `json:"width,omitempty"`
Height int `json:"height,omitempty"`
}
type EmbedThumbnail struct {
URL string `json:"url"`
ProxyURL string `json:"proxy_url,omitempty"`
Width int `json:"width,omitempty"`
Height int `json:"height,omitempty"`
}
type EmbedVideo struct {
URL string `json:"url,omitempty"`
Width int `json:"width,omitempty"`
Height int `json:"height,omitempty"`
}
type EmbedProvider struct {
URL string `json:"url,omitempty"`
Name string `json:"name,omitempty"`
}
type EmbedAuthor struct {
URL string `json:"url,omitempty"`
Name string `json:"name"`
IconURL string `json:"icon_url,omitempty"`
ProxyIconURL string `json:"proxy_icon_url,omitempty"`
}
type EmbedField struct {
Name string `json:"name,omitempty"`
Value string `json:"value,omitempty"`
Inline bool `json:"inline,omitempty"`
}