From 25c49164bca67a311043651e9403364305be2521 Mon Sep 17 00:00:00 2001 From: clown145 Date: Thu, 12 Feb 2026 06:05:39 +0800 Subject: [PATCH] =?UTF-8?q?chore:=20=E7=A7=BB=E9=99=A4Telegram=E4=B8=B4?= =?UTF-8?q?=E6=97=B6=E8=B0=83=E8=AF=95=E6=97=A5=E5=BF=97?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- main.py | 100 ++---------------- .../platform/adapters/telegram_adapter.py | 10 -- .../scheduler/auto_scheduler.py | 23 +--- 3 files changed, 11 insertions(+), 122 deletions(-) diff --git a/main.py b/main.py index 49ae154..f298424 100644 --- a/main.py +++ b/main.py @@ -243,55 +243,12 @@ class QQGroupDailyAnalysis(Star): f"群 {group_id}: 消息内容为空 (sender={sender_name}),拒绝存储" ) - # 6. 临时调试日志:打印入库前关键信息 - message_types = [] - for part in message_parts: - if isinstance(part, dict): - message_types.append(str(part.get("type", "unknown"))) - - preview_parts: list[str] = [] - for part in message_parts: - if not isinstance(part, dict): - continue - - part_type = str(part.get("type", "unknown")) - if part_type in ("plain", "text"): - text = str(part.get("text", "")).strip() - if text: - preview_parts.append(text) - elif part_type == "at": - target = str( - part.get("target_id") - or part.get("qq") - or part.get("at_user_id") - or "" - ).strip() - preview_parts.append(f"@{target}" if target else "@") - elif part_type == "image": - url = str(part.get("url", "")).strip() - preview_parts.append(f"[image]{url}" if url else "[image]") - else: - preview_parts.append(f"[{part_type}]") - - preview_text = " ".join(preview_parts).strip() - if len(preview_text) > 300: - preview_text = preview_text[:300] + "...(truncated)" - + # 6. 提取事件消息 ID(用于 Telegram 已见群/话题记录) msg_obj = getattr(event, "message_obj", None) event_message_id = str(getattr(msg_obj, "message_id", "") or "") - unified_msg_origin = str(getattr(event, "unified_msg_origin", "") or "") - - logger.info( - "[TEMP][HistoryStore][BeforeInsert] " - f"platform_id={platform_id} group_id={group_id} " - f"sender_id={sender_id} sender_name={sender_name} " - f"event_message_id={event_message_id} unified_msg_origin={unified_msg_origin} " - f"parts_count={len(message_parts)} part_types={message_types} " - f"content_preview={preview_text}" - ) # 7. 存储到数据库 - insert_result = await self.context.message_history_manager.insert( + await self.context.message_history_manager.insert( platform_id=platform_id, user_id=group_id, content={"type": "user", "message": message_parts}, @@ -299,16 +256,6 @@ class QQGroupDailyAnalysis(Star): sender_name=sender_name, ) - record_id = str(getattr(insert_result, "id", "") or "") - created_at = getattr(insert_result, "created_at", None) - logger.info( - "[TEMP][HistoryStore][AfterInsert] " - f"record_id={record_id} created_at={created_at} " - f"platform_id={platform_id} group_id={group_id} " - f"sender_id={sender_id} sender_name={sender_name} " - f"parts_count={len(message_parts)}" - ) - # Telegram: 记录已见群/话题,用于自动分析拉群回退 if self._is_telegram_event(event, platform_id): try: @@ -321,7 +268,7 @@ class QQGroupDailyAnalysis(Star): ) except Exception as e: logger.warning( - "[TEMP][TGRegistry][UpsertFailed] " + "[TGRegistry] Upsert failed: " f"platform_id={platform_id} group_id={group_id} error={e}" ) @@ -373,9 +320,6 @@ class QQGroupDailyAnalysis(Star): now_iso = datetime.now(timezone.utc).isoformat() - existed = group_key in platform_map and isinstance( - platform_map[group_key], dict - ) entry = platform_map.get(group_key) if not isinstance(entry, dict): entry = {} @@ -398,17 +342,6 @@ class QQGroupDailyAnalysis(Star): registry["updated_at"] = now_iso await self.put_kv_data(self._TG_GROUP_REGISTRY_KV_KEY, registry) - platform_targets = len(platform_map) - total_targets = sum( - len(groups) for groups in platforms.values() if isinstance(groups, dict) - ) - logger.info( - "[TEMP][TGRegistry][Upsert] " - f"platform_id={platform_key} group_id={group_key} existed={existed} " - f"platform_targets={platform_targets} total_targets={total_targets} " - f"sender_id={sender_id} sender_name={sender_name}" - ) - async def get_telegram_seen_group_ids( self, platform_id: str | None = None ) -> list[str]: @@ -417,14 +350,10 @@ class QQGroupDailyAnalysis(Star): async with lock: registry = await self.get_kv_data(self._TG_GROUP_REGISTRY_KV_KEY, {}) if not isinstance(registry, dict): - logger.info( - "[TEMP][TGRegistry][Read] invalid_registry_type, fallback_empty" - ) return [] platforms = registry.get("platforms") if not isinstance(platforms, dict): - logger.info("[TEMP][TGRegistry][Read] no_platforms, fallback_empty") return [] groups: set[str] = set() @@ -446,14 +375,7 @@ class QQGroupDailyAnalysis(Star): if str(gid).strip() ) - sorted_groups = sorted(groups) - preview = sorted_groups[:10] - logger.info( - "[TEMP][TGRegistry][Read] " - f"platform_id={platform_id or '*'} count={len(sorted_groups)} " - f"groups_preview={preview}" - ) - return sorted_groups + return sorted(groups) @staticmethod def _is_placeholder_sender_name(name: str | None, sender_id: str) -> bool: @@ -496,16 +418,12 @@ class QQGroupDailyAnalysis(Star): # Telegram 特殊策略:优先显示名,不优先 username if platform_name == "telegram": if from_user is not None: - full_name = getattr(from_user, "full_name", None) - first_name = getattr(from_user, "first_name", None) - username = getattr(from_user, "username", None) - logger.info( - "[TEMP][SenderNameRaw] " - f"sender_id={sender_id} full_name={full_name} " - f"first_name={first_name} username={username} " - f"event_sender_name={event.get_sender_name()}" + candidates.extend( + [ + getattr(from_user, "full_name", None), + getattr(from_user, "first_name", None), + ] ) - candidates.extend([full_name, first_name]) candidates.append(event.get_sender_name()) if sender_obj is not None: diff --git a/src/infrastructure/platform/adapters/telegram_adapter.py b/src/infrastructure/platform/adapters/telegram_adapter.py index d1cae10..f0dfc0b 100644 --- a/src/infrastructure/platform/adapters/telegram_adapter.py +++ b/src/infrastructure/platform/adapters/telegram_adapter.py @@ -299,11 +299,6 @@ class TelegramAdapter(PlatformAdapter): cached_name = sender_name_cache[sender_id] if cached_name == msg.sender_name: return msg - logger.info( - "[TEMP][SenderNameFix][Cache] " - f"group_id={group_id} sender_id={sender_id} " - f"from={msg.sender_name} to={cached_name}" - ) return replace(msg, sender_name=cached_name) resolved_name = msg.sender_name @@ -321,11 +316,6 @@ class TelegramAdapter(PlatformAdapter): sender_name_cache[sender_id] = resolved_name if resolved_name == msg.sender_name: return msg - logger.info( - "[TEMP][SenderNameFix][MemberInfo] " - f"group_id={group_id} sender_id={sender_id} " - f"from={msg.sender_name} to={resolved_name}" - ) return replace(msg, sender_name=resolved_name) def _convert_history_record( diff --git a/src/infrastructure/scheduler/auto_scheduler.py b/src/infrastructure/scheduler/auto_scheduler.py index 3ae9103..b6acc6f 100644 --- a/src/infrastructure/scheduler/auto_scheduler.py +++ b/src/infrastructure/scheduler/auto_scheduler.py @@ -860,11 +860,6 @@ class AutoScheduler: str(platform_id) ) used_tg_kv_fallback = bool(groups) - logger.info( - "[TEMP][TGRegistry][SchedulerFallback] " - f"platform_id={platform_id} fallback_used={used_tg_kv_fallback} " - f"fallback_count={len(groups)}" - ) for group_id in groups: all_groups.add((platform_id, str(group_id))) @@ -889,34 +884,20 @@ class AutoScheduler: async def _get_telegram_groups_from_plugin_kv(self, platform_id: str) -> list[str]: """从插件 KV 获取 Telegram 已见群/话题,作为 get_group_list 的回退。""" if not self.plugin_instance: - logger.info( - "[TEMP][TGRegistry][SchedulerFetch] " - f"platform_id={platform_id} skipped=no_plugin_instance" - ) return [] getter = getattr(self.plugin_instance, "get_telegram_seen_group_ids", None) if not callable(getter): - logger.info( - "[TEMP][TGRegistry][SchedulerFetch] " - f"platform_id={platform_id} skipped=no_getter" - ) return [] try: groups = await getter(platform_id=platform_id) - normalized = sorted( + return sorted( {str(group_id).strip() for group_id in groups if str(group_id).strip()} ) - logger.info( - "[TEMP][TGRegistry][SchedulerFetch] " - f"platform_id={platform_id} count={len(normalized)} " - f"groups_preview={normalized[:10]}" - ) - return normalized except Exception as e: logger.warning( - "[TEMP][TGRegistry][SchedulerFetchFailed] " + "[TGRegistry] Scheduler fetch failed: " f"platform_id={platform_id} error={e}" ) return []