10
10
GroupMemberJoinRequest
11
11
)
12
12
from lagrange .client .events .friend import (
13
- FriendMessage
13
+ FriendMessage ,
14
+ FriendRecall
14
15
)
15
16
from onebot .event .MessageEvent import (
16
17
GroupMessageSender ,
19
20
)
20
21
from onebot .event .NoticeEvent import (
21
22
GroupDecreaseNoticeEvent ,
22
- GroupRecallNoticeEvent
23
+ GroupRecallNoticeEvent ,
24
+ FriendRecallNoticeEvent
23
25
)
24
26
from onebot .event .RequestEvent import (
25
27
GroupRequestEvent
32
34
from onebot .utils .message_chain import MessageConverter
33
35
from onebot .cache import get_info
34
36
35
- from config import Config
37
+ from config import Config , logger
36
38
37
39
import json
38
40
import ws
@@ -52,6 +54,9 @@ async def GroupMessageEventHandler(client: Client, converter: MessageConverter,
52
54
message_id = generate_message_id (event .grp_id , event .seq )
53
55
if Config .ignore_self and event .uin == client .uin :
54
56
return
57
+
58
+ logger .onebot .info (f"Received message ({ message_id } /{ event .seq } ) from group ({ event .grp_id } ): { event .msg } " )
59
+
55
60
event_content = event .__dict__
56
61
record_data = MessageEvent (
57
62
msg_id = message_id ,
@@ -85,6 +90,7 @@ async def PrivateMessageEventHandler(client: Client, converter: MessageConverter
85
90
return
86
91
content = await converter .convert_to_segments (event .msg_chain , "friend" )
87
92
message_id = generate_message_id (event .from_uin , event .seq )
93
+ logger .onebot .info (f"Received message ({ message_id } /{ event .seq } ) from friend ({ event .from_uin } ): { event .msg } " )
88
94
event_content = event .__dict__
89
95
record_data = MessageEvent (
90
96
msg_id = message_id ,
@@ -96,7 +102,7 @@ async def PrivateMessageEventHandler(client: Client, converter: MessageConverter
96
102
)
97
103
db .save (record_data )
98
104
formatted_event = PrivateMessageEvent (
99
- message_id = event . msg_id ,
105
+ message_id = message_id ,
100
106
time = event .timestamp ,
101
107
user_id = event .from_uin ,
102
108
self_id = event .to_uin ,
@@ -181,4 +187,23 @@ async def GroupRequestEventHandler(client: Client, converter: MessageConverter,
181
187
converter .convert_to_dict (formatted_event ),
182
188
ensure_ascii = False
183
189
)
184
- )
190
+ )
191
+
192
+ @init_handler
193
+ async def FriendRecallEventHandler (client : Client , converter : MessageConverter , event : FriendRecall ):
194
+ uin = event .from_uin
195
+ seq = event .seq
196
+ message : MessageEvent | Any = db .where_one (MessageEvent (), "uin = ? AND seq = ?" , uin , seq , default = None )
197
+ if message is None :
198
+ return
199
+ formatted_event = FriendRecallNoticeEvent (
200
+ self_id = client .uin ,
201
+ user_id = uin ,
202
+ message_id = message .msg_id
203
+ )
204
+ await ws .websocket_connection .send (
205
+ json .dumps (
206
+ converter .convert_to_dict (formatted_event ),
207
+ ensure_ascii = False
208
+ )
209
+ )
0 commit comments