Skip to content

Commit addf971

Browse files
author
anezhou
committed
websocket: 消息删除事件 (merge request !41)
Squash merge branch 'feature_20220322_anezhou_deletemsgevent_story_872426357' into 'master' websocket: 消息删除事件 --story=872426357 TAPD: --story=872426357
1 parent 34707b1 commit addf971

File tree

4 files changed

+50
-8
lines changed

4 files changed

+50
-8
lines changed

dto/message_delete.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
package dto
2+
3+
// MessageDelete 消息删除结构体定义
4+
type MessageDelete struct {
5+
// 消息
6+
Message Message `json:"message"`
7+
// 操作用户
8+
OpUser User `json:"op_user"`
9+
}

dto/websocket_event.go

Lines changed: 6 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -19,13 +19,16 @@ const (
1919
EventMessageReactionAdd EventType = "MESSAGE_REACTION_ADD"
2020
EventMessageReactionRemove EventType = "MESSAGE_REACTION_REMOVE"
2121
EventAtMessageCreate EventType = "AT_MESSAGE_CREATE"
22+
EventPublicMessageDelete EventType = "PUBLIC_MESSAGE_DELETE"
2223
EventDirectMessageCreate EventType = "DIRECT_MESSAGE_CREATE"
24+
EventDirectMessageDelete EventType = "DIRECT_MESSAGE_DELETE"
2325
EventAudioStart EventType = "AUDIO_START"
2426
EventAudioFinish EventType = "AUDIO_FINISH"
2527
EventAudioOnMic EventType = "AUDIO_ON_MIC"
2628
EventAudioOffMic EventType = "AUDIO_OFF_MIC"
2729
EventMessageAuditPass EventType = "MESSAGE_AUDIT_PASS"
2830
EventMessageAuditReject EventType = "MESSAGE_AUDIT_REJECT"
31+
EventMessageDelete EventType = "MESSAGE_DELETE"
2932
EventForumThreadCreate EventType = "FORUM_THREAD_CREATE"
3033
EventForumThreadUpdate EventType = "FORUM_THREAD_UPDATE"
3134
EventForumThreadDelete EventType = "FORUM_THREAD_DELETE"
@@ -44,10 +47,10 @@ var intentEventMap = map[Intent][]EventType{
4447
EventChannelCreate, EventChannelUpdate, EventChannelDelete,
4548
},
4649
IntentGuildMembers: {EventGuildMemberAdd, EventGuildMemberUpdate, EventGuildMemberRemove},
47-
IntentGuildMessages: {EventMessageCreate},
50+
IntentGuildMessages: {EventMessageCreate, EventMessageDelete},
4851
IntentGuildMessageReactions: {EventMessageReactionAdd, EventMessageReactionRemove},
49-
IntentGuildAtMessage: {EventAtMessageCreate},
50-
IntentDirectMessages: {EventDirectMessageCreate},
52+
IntentGuildAtMessage: {EventAtMessageCreate, EventPublicMessageDelete},
53+
IntentDirectMessages: {EventDirectMessageCreate, EventDirectMessageDelete},
5154
IntentAudio: {EventAudioStart, EventAudioFinish, EventAudioOnMic, EventAudioOffMic},
5255
IntentAudit: {EventMessageAuditPass, EventMessageAuditReject},
5356
IntentForum: {

dto/websocket_payload.go

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -75,6 +75,15 @@ type WSATMessageData Message
7575
// WSDirectMessageData 私信消息 payload
7676
type WSDirectMessageData Message
7777

78+
// WSMessageDeleteData 消息 payload
79+
type WSMessageDeleteData MessageDelete
80+
81+
// WSPublicMessageDeleteData 公域机器人的消息删除 payload
82+
type WSPublicMessageDeleteData MessageDelete
83+
84+
// WSDirectMessageDeleteData 私信消息 payload
85+
type WSDirectMessageDeleteData MessageDelete
86+
7887
// WSAudioData 音频机器人的音频流事件
7988
type WSAudioData AudioAction
8089

event/register.go

Lines changed: 26 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -14,11 +14,14 @@ var DefaultHandlers struct {
1414
GuildMember GuildMemberEventHandler
1515
Channel ChannelEventHandler
1616

17-
Message MessageEventHandler
18-
MessageReaction MessageReactionEventHandler
19-
ATMessage ATMessageEventHandler
20-
DirectMessage DirectMessageEventHandler
21-
MessageAudit MessageAuditEventHandler
17+
Message MessageEventHandler
18+
MessageReaction MessageReactionEventHandler
19+
ATMessage ATMessageEventHandler
20+
DirectMessage DirectMessageEventHandler
21+
MessageAudit MessageAuditEventHandler
22+
MessageDelete MessageDeleteEventHandler
23+
PublicMessageDelete PublicMessageDeleteEventHandler
24+
DirectMessageDelete DirectMessageDeleteEventHandler
2225

2326
Audio AudioEventHandler
2427

@@ -52,6 +55,15 @@ type ChannelEventHandler func(event *dto.WSPayload, data *dto.WSChannelData) err
5255
// MessageEventHandler 消息事件 handler
5356
type MessageEventHandler func(event *dto.WSPayload, data *dto.WSMessageData) error
5457

58+
// MessageDeleteEventHandler 消息事件 handler
59+
type MessageDeleteEventHandler func(event *dto.WSPayload, data *dto.WSMessageDeleteData) error
60+
61+
// PublicMessageDeleteEventHandler 消息事件 handler
62+
type PublicMessageDeleteEventHandler func(event *dto.WSPayload, data *dto.WSPublicMessageDeleteData) error
63+
64+
// DirectMessageDeleteEventHandler 消息事件 handler
65+
type DirectMessageDeleteEventHandler func(event *dto.WSPayload, data *dto.WSDirectMessageDeleteData) error
66+
5567
// MessageReactionEventHandler 表情表态事件 handler
5668
type MessageReactionEventHandler func(event *dto.WSPayload, data *dto.WSMessageReactionData) error
5769

@@ -167,6 +179,15 @@ func registerMessageHandlers(i dto.Intent, handlers ...interface{}) dto.Intent {
167179
case DirectMessageEventHandler:
168180
DefaultHandlers.DirectMessage = handle
169181
i = i | dto.EventToIntent(dto.EventDirectMessageCreate)
182+
case MessageDeleteEventHandler:
183+
DefaultHandlers.MessageDelete = handle
184+
i = i | dto.EventToIntent(dto.EventMessageDelete)
185+
case PublicMessageDeleteEventHandler:
186+
DefaultHandlers.PublicMessageDelete = handle
187+
i = i | dto.EventToIntent(dto.EventPublicMessageDelete)
188+
case DirectMessageDeleteEventHandler:
189+
DefaultHandlers.DirectMessageDelete = handle
190+
i = i | dto.EventToIntent(dto.EventDirectMessageDelete)
170191
case MessageReactionEventHandler:
171192
DefaultHandlers.MessageReaction = handle
172193
i = i | dto.EventToIntent(dto.EventMessageReactionAdd, dto.EventMessageReactionRemove)

0 commit comments

Comments
 (0)