fix:修复hfc根本不会被触发的bug
This commit is contained in:
@@ -23,9 +23,9 @@ class MaiState(enum.Enum):
|
||||
"""
|
||||
|
||||
OFFLINE = "不在线"
|
||||
PEEKING = "看一眼手机"
|
||||
PEEKING = "看一眼"
|
||||
NORMAL_CHAT = "正常聊天"
|
||||
FOCUSED_CHAT = "专注聊天"
|
||||
FOCUSED_CHAT = "专心聊天"
|
||||
|
||||
def get_normal_chat_max_num(self):
|
||||
if self == MaiState.OFFLINE:
|
||||
@@ -127,9 +127,9 @@ class MaiStateManager:
|
||||
elif current_status == MaiState.PEEKING:
|
||||
logger.info("当前[在窥屏],思考要不要继续聊下去......")
|
||||
elif current_status == MaiState.NORMAL_CHAT:
|
||||
logger.info("当前在[闲聊]思考要不要继续聊下去......")
|
||||
logger.info("当前在[随便看]思考要不要继续聊下去......")
|
||||
elif current_status == MaiState.FOCUSED_CHAT:
|
||||
logger.info("当前在[激情聊天]思考要不要继续聊下去......")
|
||||
logger.info("当前在[专心看]思考要不要继续聊下去......")
|
||||
|
||||
# 1. 麦麦每分钟都有概率离线
|
||||
if time_since_last_min_check >= 60:
|
||||
@@ -149,7 +149,7 @@ class MaiStateManager:
|
||||
next_state_candidate = random.choices(choices_list, weights=weights, k=1)[0]
|
||||
if next_state_candidate != MaiState.OFFLINE:
|
||||
next_state = next_state_candidate
|
||||
logger.debug(f"上线!开始 {next_state.name}")
|
||||
logger.debug(f"上线!开始 {next_state.value}")
|
||||
else:
|
||||
# 继续离线状态
|
||||
next_state = MaiState.OFFLINE
|
||||
@@ -159,7 +159,7 @@ class MaiStateManager:
|
||||
weights = [70, 20, 10]
|
||||
choices_list = [MaiState.OFFLINE, MaiState.NORMAL_CHAT, MaiState.FOCUSED_CHAT]
|
||||
next_state = random.choices(choices_list, weights=weights, k=1)[0]
|
||||
logger.debug(f"手机看完了,接下来 {next_state.name}")
|
||||
logger.debug(f"手机看完了,接下来 {next_state.value}")
|
||||
|
||||
elif current_status == MaiState.NORMAL_CHAT:
|
||||
if time_in_current_status >= 300: # NORMAL_CHAT 最多持续 300 秒
|
||||
@@ -167,16 +167,16 @@ class MaiStateManager:
|
||||
choices_list = [MaiState.OFFLINE, MaiState.FOCUSED_CHAT]
|
||||
next_state = random.choices(choices_list, weights=weights, k=1)[0]
|
||||
if next_state == MaiState.FOCUSED_CHAT:
|
||||
logger.debug(f"继续深入聊天, {next_state.name}")
|
||||
logger.debug(f"继续深入聊天, {next_state.value}")
|
||||
else:
|
||||
logger.debug(f"聊完了,接下来 {next_state.name}")
|
||||
logger.debug(f"聊完了,接下来 {next_state.value}")
|
||||
|
||||
elif current_status == MaiState.FOCUSED_CHAT:
|
||||
if time_in_current_status >= 600: # FOCUSED_CHAT 最多持续 600 秒
|
||||
weights = [80, 20]
|
||||
choices_list = [MaiState.OFFLINE, MaiState.NORMAL_CHAT]
|
||||
next_state = random.choices(choices_list, weights=weights, k=1)[0]
|
||||
logger.debug(f"深入聊天结束,接下来 {next_state.name}")
|
||||
logger.debug(f"深入聊天结束,接下来 {next_state.value}")
|
||||
|
||||
# 如果决定了下一个状态,且这个状态与当前状态不同,则返回下一个状态
|
||||
if next_state is not None and next_state != current_status:
|
||||
|
||||
Reference in New Issue
Block a user