-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmessageListener.py
More file actions
79 lines (73 loc) · 3.08 KB
/
messageListener.py
File metadata and controls
79 lines (73 loc) · 3.08 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
import requests
from dataHandler import DataHandler
class MessageListener:
def __init__(self):
self.userId = ""
self.groupId = ""
self.userMessageInfoQueue = []
self.groupMessageInfoQueue = []
self.listenMaxCount = 10
def setUserId(self, userId):
if userId != self.userId:
self.userMessageInfoQueue.clear()
self.userId = userId
def setGroupId(self, groupId):
if groupId != self.groupId:
self.groupMessageInfoQueue.clear()
self.groupId = groupId
def checkUserMessage(self):
data = {
"user_id": self.userId,
"message_seq": "",
"count": self.listenMaxCount,
"reverseOrder": "false"
}
data = requests.post("http://127.0.0.1:3000/get_friend_msg_history", data=data, headers={"authorization": "isuncy"})
data = data.json()
messageList = data.get("data").get("messages")
for message in messageList:
messageId = message.get("message_id")
userId = str(message.get("user_id"))
if not DataHandler.findMessageId(messageId) and userId == self.userId:
DataHandler.addMessageId(messageId)
print("New message from user:", message.get("raw_message"))
self.userMessageInfoQueue.append({
"message_id": messageId,
"user_id": message.get("user_id"),
"message": message.get("raw_message"),
"time": message.get("time"),
"user_name": message.get("sender").get("nickname")
})
#返回消息列表并清空缓存
def handelUserMessage(self) :
self.checkUserMessage()
messages = self.userMessageInfoQueue.copy()
self.userMessageInfoQueue.clear()
return messages
def checkGroupMessage(self):
data = {
"group_id": self.groupId,
"message_seq": "",
"count": self.listenMaxCount,
"reverseOrder": "false"
}
data = requests.post("http://127.0.0.1:3000/get_group_msg_history", data=data, headers={"authorization": "isuncy"})
data = data.json()
messageList = data.get("data").get("messages")
for message in messageList:
messageId = message.get("message_id")
if not DataHandler.findMessageId(messageId):
DataHandler.addMessageId(messageId)
print("New message from user "+message.get("sender").get("nickname")+":", message.get("raw_message"))
self.groupMessageInfoQueue.append({
"message_id": messageId,
"user_id": message.get("user_id"),
"message": message.get("raw_message"),
"time": message.get("time"),
"user_name": message.get("sender").get("nickname")
})
def handelGroupMessage(self) :
self.checkGroupMessage()
messages = self.groupMessageInfoQueue.copy()
self.groupMessageInfoQueue.clear()
return messages