添加粉丝团信息,补充下播消息用法

This commit is contained in:
Jerry Yan 2022-06-05 15:53:53 +08:00
parent 4f80da70bf
commit 62655df548
5 changed files with 210 additions and 93 deletions

13
messages/control.py Normal file
View File

@ -0,0 +1,13 @@
import time
from messages.base import Base
from protobuf import message_pb2
class ControlMessage(Base):
def __init__(self):
self.instance = message_pb2.ChatMessage()
def __str__(self):
# 基本上都是下播了比如主播离开了违规被Ban了啥的有这个消息直播间信息必然发生变化
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + '【直播间信息】'

17
messages/fansclub.py Normal file
View File

@ -0,0 +1,17 @@
import time
from protobuf import message_pb2
from messages.base import Base
class FansclubMessage(Base):
def __init__(self):
self.instance = message_pb2.FansclubMessage()
def format_content(self):
return self.instance.content
def __str__(self):
if self.instance.type == 1:
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + '【加入粉丝团】' + self.format_content()
elif self.instance.type == 2:
return time.strftime("%Y-%m-%d %H:%M:%S", time.localtime()) + '【粉丝牌升级】' + self.format_content()

View File

@ -1,4 +1,7 @@
import os
from messages.control import ControlMessage
from messages.fansclub import FansclubMessage
from protobuf import message_pb2
from protobuf import wss_pb2
import gzip
@ -82,5 +85,19 @@ def decodeMsg(messages):
print(f"\n{YELLOW}[+] {room_user_seq_message} {RESET}")
elif message.method == 'WebcastFansclubMessage':
fansclub_message = FansclubMessage()
fansclub_message.set_payload(message.payload)
fansclub_message.persists()
print(f"\n{RED}[+] {fansclub_message} {RESET}")
elif message.method == 'WebcastControlMessage':
control_message = ControlMessage()
control_message.set_payload(message.payload)
control_message.persists()
print(f"\n{CYAN}[+] {control_message} {RESET}")
except Exception as e:
print(e)

View File

@ -168,6 +168,14 @@ message ControlMessage {
int32 status = 2;
}
message FansclubMessage {
Common commonInfo = 1;
// 12
int32 type = 2;
string content = 3;
User user = 4;
}
message Common{
string method = 1;
int64 msgId = 2;

File diff suppressed because one or more lines are too long