|
|
@ -1,56 +1,56 @@
|
|
|
|
from protobuf.douyin import *
|
|
|
|
from protobuf.douyin import *
|
|
|
|
import random
|
|
|
|
import random
|
|
|
|
from loguru import logger
|
|
|
|
from loguru import logger
|
|
|
|
from helper import LiveChatConfig
|
|
|
|
from helper import LiveChatConfig, MessageType
|
|
|
|
|
|
|
|
|
|
|
|
live_chat_config = LiveChatConfig()
|
|
|
|
live_chat_config = LiveChatConfig()
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def parse_chat_msg(payload, queue):
|
|
|
|
def parse_chat_msg(payload, queue):
|
|
|
|
"""聊天消息"""
|
|
|
|
"""聊天消息"""
|
|
|
|
if not random.random() < live_chat_config.chat_prob / 100:
|
|
|
|
# if not random.random() < live_chat_config.chat_prob / 100:
|
|
|
|
return
|
|
|
|
# return
|
|
|
|
message = ChatMessage().parse(payload)
|
|
|
|
message = ChatMessage().parse(payload)
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_id = message.user.id
|
|
|
|
user_id = message.user.id
|
|
|
|
content = message.content
|
|
|
|
content = message.content
|
|
|
|
prompt = live_chat_config.chat_prompt.format(content=content)
|
|
|
|
prompt = live_chat_config.chat_prompt.format(content=content)
|
|
|
|
queue.put((prompt, content))
|
|
|
|
queue.put((MessageType.CHAT.value, prompt, content))
|
|
|
|
# logger.info(f"【聊天msg】[{user_id}]{user_name}: {content}")
|
|
|
|
# logger.info(f"【聊天msg】[{user_id}]{user_name}: {content}")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def parse_gif_msg(payload, queue):
|
|
|
|
def parse_gif_msg(payload, queue):
|
|
|
|
"""礼物消息"""
|
|
|
|
"""礼物消息"""
|
|
|
|
if not random.random() < live_chat_config.gift_prob / 100:
|
|
|
|
# if not random.random() < live_chat_config.gift_prob / 100:
|
|
|
|
return
|
|
|
|
# return
|
|
|
|
message = GiftMessage().parse(payload)
|
|
|
|
message = GiftMessage().parse(payload)
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
gift_name = message.gift.name
|
|
|
|
gift_name = message.gift.name
|
|
|
|
gift_count = message.combo_count
|
|
|
|
gift_count = message.combo_count
|
|
|
|
prompt = live_chat_config.gift_prompt.format(user_name=user_name, gift_count=gift_count, gift_name=gift_name)
|
|
|
|
prompt = live_chat_config.gift_prompt.format(user_name=user_name, gift_count=gift_count, gift_name=gift_name)
|
|
|
|
queue.put((prompt, None))
|
|
|
|
queue.put((MessageType.GIFT.value, prompt, None))
|
|
|
|
# logger.info(f"【礼物msg】{user_name} 送出了 {gift_name}x{gift_count}")
|
|
|
|
# logger.info(f"【礼物msg】{user_name} 送出了 {gift_name}x{gift_count}")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def parse_like_msg(payload, queue):
|
|
|
|
def parse_like_msg(payload, queue):
|
|
|
|
'''点赞消息'''
|
|
|
|
'''点赞消息'''
|
|
|
|
if not random.random() < live_chat_config.like_prob / 100:
|
|
|
|
# if not random.random() < live_chat_config.like_prob / 100:
|
|
|
|
return
|
|
|
|
# return
|
|
|
|
message = LikeMessage().parse(payload)
|
|
|
|
message = LikeMessage().parse(payload)
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
count = message.count
|
|
|
|
count = message.count
|
|
|
|
prompt = live_chat_config.like_prompt.format(user_name=user_name, count=count)
|
|
|
|
prompt = live_chat_config.like_prompt.format(user_name=user_name, count=count)
|
|
|
|
queue.put((prompt, None))
|
|
|
|
queue.put((MessageType.LIKE.value, prompt, None))
|
|
|
|
# logger.info(f"【点赞msg】{user_name} 点了{count}个赞")
|
|
|
|
# logger.info(f"【点赞msg】{user_name} 点了{count}个赞")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def parse_member_msg(payload, queue):
|
|
|
|
def parse_member_msg(payload, queue):
|
|
|
|
'''进入直播间消息'''
|
|
|
|
'''进入直播间消息'''
|
|
|
|
if not random.random() < live_chat_config.enter_live_room_prob / 100:
|
|
|
|
# if not random.random() < live_chat_config.enter_live_room_prob / 100:
|
|
|
|
return
|
|
|
|
# return
|
|
|
|
message = MemberMessage().parse(payload)
|
|
|
|
message = MemberMessage().parse(payload)
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_id = message.user.id
|
|
|
|
user_id = message.user.id
|
|
|
@ -58,20 +58,20 @@ def parse_member_msg(payload, queue):
|
|
|
|
if gender in (0, 1):
|
|
|
|
if gender in (0, 1):
|
|
|
|
gender = ["女", "男"][gender]
|
|
|
|
gender = ["女", "男"][gender]
|
|
|
|
prompt = live_chat_config.enter_live_room_prompt.format(user_name=user_name)
|
|
|
|
prompt = live_chat_config.enter_live_room_prompt.format(user_name=user_name)
|
|
|
|
queue.put((prompt, None))
|
|
|
|
queue.put((MessageType.ENTER_LIVE_ROOM.value, prompt, None))
|
|
|
|
# logger.info(f"【进场msg】[{user_id}][{gender}]{user_name} 进入了直播间")
|
|
|
|
# logger.info(f"【进场msg】[{user_id}][{gender}]{user_name} 进入了直播间")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
def parse_social_msg(payload, queue):
|
|
|
|
def parse_social_msg(payload, queue):
|
|
|
|
'''关注消息'''
|
|
|
|
'''关注消息'''
|
|
|
|
if not random.random() < live_chat_config.follow_prob / 100:
|
|
|
|
# if not random.random() < live_chat_config.follow_prob / 100:
|
|
|
|
return
|
|
|
|
# return
|
|
|
|
message = SocialMessage().parse(payload)
|
|
|
|
message = SocialMessage().parse(payload)
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_name = message.user.nick_name
|
|
|
|
user_id = message.user.id
|
|
|
|
user_id = message.user.id
|
|
|
|
prompt = live_chat_config.follow_prompt.format(user_name=user_name)
|
|
|
|
prompt = live_chat_config.follow_prompt.format(user_name=user_name)
|
|
|
|
queue.put((prompt, None))
|
|
|
|
queue.put((MessageType.FOLLOW.value, prompt, None))
|
|
|
|
# logger.info(f"【关注msg】[{user_id}]{user_name} 关注了主播")
|
|
|
|
# logger.info(f"【关注msg】[{user_id}]{user_name} 关注了主播")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
# logger.info(f"队列数量: {queue.qsize()}")
|
|
|
|
|
|
|
|
|
|
|
|