fix(emoji): 修复自动扫描跳过未注册表情包的问题
在 periodic_emoji_maintenance 的自动扫描循环中, 改用 self.emojis(仅包含已注册表情包)构建跳过集合, 替换原先的 _known_emoji_file_paths(包含未注册记录), 避免已有数据库记录但 is_registered=False 的表情包文件被永久跳过。 Closes: 表情包自动注册不触发,手动注册正常的问题
This commit is contained in:
@@ -1037,12 +1037,13 @@ class EmojiManager:
|
||||
self._emoji_num < global_config.emoji.max_reg_num
|
||||
or (self._emoji_num > global_config.emoji.max_reg_num and global_config.emoji.do_replace)
|
||||
):
|
||||
registered_paths = {Path(emoji.full_path).resolve() for emoji in self.emojis}
|
||||
logger.info("[emoji_maintenance] Scanning data/emoji for new emojis...")
|
||||
for emoji_file in EMOJI_DIR.iterdir():
|
||||
if not emoji_file.is_file():
|
||||
continue
|
||||
resolved_file = emoji_file.absolute().resolve()
|
||||
if resolved_file in self._known_emoji_file_paths:
|
||||
if resolved_file in registered_paths:
|
||||
continue
|
||||
try:
|
||||
register_status = await self.register_emoji_by_filename(emoji_file)
|
||||
|
||||
Reference in New Issue
Block a user