diff --git a/MemberMsg.py b/MemberMsg.py new file mode 100644 index 0000000..88b644e --- /dev/null +++ b/MemberMsg.py @@ -0,0 +1,32 @@ +from User import User + + +class MemberMsg: + type:int = -1 + content:str = "" + user:User = None + + def __init__(self, json=None): + if json: + self.parse(json) + + def parse(self, json): + self.user = User(json) + if "Msg" in json: + if "action" in json["Msg"]: + self.type = json["Msg"]['action'] + elif "content" in json["Msg"]: + self.content = json["Msg"]['content'] + + def __str__(self): + if self.type == 3: + return "{} 被禁言了".format(self.user) + elif self.type == 4: + return "{} 被取消禁言了".format(self.user) + elif self.type == 0: + return "{} 进入了房间".format(self.user) + else: + return self.content + + def __unicode__(self): + return self.__str__() \ No newline at end of file diff --git a/User.py b/User.py index c2314a7..a83d5c6 100644 --- a/User.py +++ b/User.py @@ -30,7 +30,7 @@ class User: if self.level == 0: if self.type == 1: return "[房管]{}".format(self.name) - elif self.type == 2: + elif self.type == 3: return "[主播]{}".format(self.name) else: return "{}".format(self.name) diff --git a/WinMain.py b/WinMain.py index 5b64904..0ee0e78 100644 --- a/WinMain.py +++ b/WinMain.py @@ -3,6 +3,7 @@ import sys import time from Gift import Gift +from MemberMsg import MemberMsg from User import User from Chat import Chat @@ -116,7 +117,7 @@ class WinMain(Api): def onMessage(self, msg: str): set_cmd_text_color(FOREGROUND_DARKGRAY) - print("消息:", msg) + print("消息 : ", msg) resetColor() def onJoin(self, user: User): @@ -127,15 +128,10 @@ class WinMain(Api): def onSubscribe(self, user: User): return - def onEnter(self, user: User, content: str == ""): - if content == "": - if user.name == "三国空白" or user.name == "四维v": - set_cmd_text_color(FOREGROUND_DARKGRAY) - print("消息:", user, "进入直播间") - resetColor() - else: + def onEnter(self, msg:MemberMsg): + if msg.type != 0: set_cmd_text_color(FOREGROUND_DARKGRAY) - print("消息:", content.format(user)) + print("提示 : ", msg) resetColor() def onChat(self, chat: Chat): diff --git a/api.py b/api.py index 81f4d02..a0364de 100644 --- a/api.py +++ b/api.py @@ -1,4 +1,6 @@ import sys + +from MemberMsg import MemberMsg from User import User from Gift import Gift from Chat import Chat @@ -52,26 +54,23 @@ class XiGuaLiveApi: def onChat(self, chat: Chat): print(chat) - def onEnter(self, user: User, content: str == ""): - if content == "": - print("消息:", user, "进入直播间") - else: - print("消息:", content.format(user)) + def onEnter(self, msg:MemberMsg): + print("提示 : ", msg) def onSubscribe(self, user: User): - print("消息:", user, "关注了主播") + print("消息 : ", user, "关注了主播") def onJoin(self, user: User): print("感谢", user, "加入了粉丝团") def onMessage(self, msg: str): - print("消息:", msg) + print("消息 : ", msg) def onLike(self, user: User): print("用户", user, "点了喜欢") def onLeave(self, json: any): - print("消息:", "主播离开一小会") + print("消息 : ", "主播离开一小会") def _enterRoom(self): if not self.isValidRoom: @@ -132,7 +131,7 @@ class XiGuaLiveApi: self.onChat(Chat(i)) elif i['Method'] == "VideoLiveMemberMessage": self._updateRoomInfo(i) - self.onEnter(User(i), i["Msg"]["content"]) + self.onEnter(MemberMsg(i)) elif i['Method'] == "VideoLiveSocialMessage": self.onSubscribe(User(i)) elif i['Method'] == "VideoLiveJoinDiscipulusMessage":