fix: 修复自定义语音口令设置不生效的问题

This commit is contained in:
涵曦 2024-07-18 01:52:04 +00:00
parent 40ac67cce0
commit af6077693e
2 changed files with 12 additions and 13 deletions

View File

@ -145,16 +145,17 @@ class Config:
self.key_word_dict[k] = v self.key_word_dict[k] = v
self.key_match_order.append(k) self.key_match_order.append(k)
def init_keyword(self):
self.append_keyword(self.keywords_playlocal, "playlocal")
self.append_keyword(self.keywords_play, "play")
self.append_keyword(self.keywords_stop, "stop")
self.append_user_keyword()
def __post_init__(self) -> None: def __post_init__(self) -> None:
if self.proxy: if self.proxy:
validate_proxy(self.proxy) validate_proxy(self.proxy)
self.append_keyword(self.keywords_playlocal, "playlocal") self.init_keyword()
self.append_keyword(self.keywords_play, "play")
self.append_keyword(self.keywords_stop, "stop")
self.append_user_keyword()
# 保存配置到 config-example.json 文件 # 保存配置到 config-example.json 文件
if self.enable_config_example: if self.enable_config_example:
with open("config-example.json", "w") as f: with open("config-example.json", "w") as f:
@ -211,3 +212,4 @@ class Config:
converted_value = self.convert_value(k, v, type_hints) converted_value = self.convert_value(k, v, type_hints)
if converted_value is not None: if converted_value is not None:
setattr(self, k, converted_value) setattr(self, k, converted_value)
self.init_keyword()

View File

@ -468,13 +468,6 @@ class XiaoMusic:
await self.init_all_data(session) await self.init_all_data(session)
task = asyncio.create_task(self.poll_latest_ask()) task = asyncio.create_task(self.poll_latest_ask())
assert task is not None # to keep the reference to task, do not remove this assert task is not None # to keep the reference to task, do not remove this
filtered_keywords = [
keyword for keyword in self.config.key_match_order if "#" not in keyword
]
joined_keywords = "/".join(filtered_keywords)
self.log.info(f"语音控制已启动, 用【{joined_keywords}】开头来控制")
self.log.debug(f"key_word_dict: {self.config.key_word_dict}")
while True: while True:
self.polling_event.set() self.polling_event.set()
await self.new_record_event.wait() await self.new_record_event.wait()
@ -761,6 +754,10 @@ class XiaoMusic:
debug_config = deepcopy_data_no_sensitive_info(self.config) debug_config = deepcopy_data_no_sensitive_info(self.config)
self.log.info(f"update_config_from_setting ok. data:{debug_config}") self.log.info(f"update_config_from_setting ok. data:{debug_config}")
joined_keywords = "/".join(self.config.key_match_order)
self.log.info(f"语音控制已启动, 用【{joined_keywords}】开头来控制")
self.log.debug(f"key_word_dict: {self.config.key_word_dict}")
# 重新初始化 # 重新初始化
async def reinit(self, **kwargs): async def reinit(self, **kwargs):
self.setup_logger() self.setup_logger()