-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathmain.py
More file actions
93 lines (82 loc) · 3.71 KB
/
main.py
File metadata and controls
93 lines (82 loc) · 3.71 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
83
84
85
86
87
88
89
90
91
92
93
import time
from imageHandler import ImageHandler
from messageListener import MessageListener
from messageSender import MessageSender
from messageGetter import MessageGetter
from dataHandler import DataHandler
import datetime
import json
#加载配置文件
def loadSettings():
userList,groupList,userListeners,groupListeners = [],[],[],[]
settingFileName = "settings.json"
with open(settingFileName, 'r', encoding='utf-8') as file:
data = json.load(file)
userList = data.get("userList")
groupList = data.get("groupList")
for userId in userList:
userListener = MessageListener()
userListener.setUserId(userId=userId)
userListeners.append(userListener)
for groupId in groupList:
groupListener = MessageListener()
groupListener.setGroupId(groupId=groupId)
groupListeners.append(groupListener)
return userListeners,groupListeners
#检查消息是否触发
def checkMessage(message):
return message == "🦌" or message == "鹿"
#处理群组消息
def handleGroupMessage(messageListener):
messageListener.checkGroupMessage()
newMessageList = messageListener.handelGroupMessage();
for message in newMessageList:
if checkMessage(message.get("message")):
userId = message.get("user_id")
messageId = message.get("message_id")
dateTime = datetime.datetime.fromtimestamp(message.get("time"))
imageHandler = ImageHandler(str(userId)+str(message.get("time"))+".png")
userName = message.get("user_name")
imageHandler.month = dateTime.month
imageHandler.userId = userId
imageHandler.userName = userName
DataHandler.addRecord(userId, userName, dateTime.month, dateTime.day)
messageGetter = MessageGetter()
messageGetter.setMessageReplay(message.get("message_id"))
messageGetter.addTextMessage("成功🦌了")
messageGetter.addImageMessage(imageHandler.getImage())
MessageSender.send_group_msg(messageListener.groupId, messageGetter.getMessage())
#处理个人消息
def hadlePrivateMessage(messageListener):
messageListener.checkUserMessage()
newMessageList = messageListener.handelUserMessage();
for message in newMessageList:
if (checkMessage(message.get("message"))):
userId = message.get("user_id")
messageId = message.get("message_id")
dateTime = datetime.datetime.fromtimestamp(message.get("time"))
imageHandler = ImageHandler(str(userId)+str(message.get("time"))+".png")
userName = message.get("user_name")
imageHandler.month = dateTime.month
imageHandler.userId = userId
imageHandler.userName = userName
DataHandler.addRecord(userId, userName, dateTime.month, dateTime.day)
messageGetter = MessageGetter()
messageGetter.setMessageReplay(message.get("message_id"))
messageGetter.addTextMessage("成功🦌了")
messageGetter.addImageMessage(imageHandler.getImage())
MessageSender.send_private_message(message.get("user_id"), messageGetter.getMessage())
if __name__ == "__main__":
userListeners,groupListeners = loadSettings()
while True:
try :
if userListeners != []:
for messageListener in groupListeners:
handleGroupMessage(messageListener)
if groupListeners != []:
for messageListener in userListeners:
hadlePrivateMessage(messageListener)
time.sleep(2)
except Exception as e:
print("Error: ", e)
time.sleep(2)