mirror of
https://github.com/Zippland/Bubbles.git
synced 2026-02-03 16:47:31 +08:00
37 lines
1.1 KiB
Python
37 lines
1.1 KiB
Python
"""News related service helpers for Function Call handlers."""
|
||
from __future__ import annotations
|
||
|
||
import logging
|
||
from dataclasses import dataclass
|
||
from typing import Optional
|
||
|
||
from function.func_news import News
|
||
|
||
|
||
logger = logging.getLogger(__name__)
|
||
|
||
|
||
@dataclass
|
||
class NewsResult:
|
||
success: bool
|
||
message: str
|
||
is_today: Optional[bool] = None
|
||
|
||
|
||
def get_news_digest() -> NewsResult:
|
||
"""Fetch latest news digest."""
|
||
try:
|
||
news_instance = News()
|
||
is_today, content = news_instance.get_important_news()
|
||
if is_today:
|
||
message = f"📰 今日要闻来啦:\n{content}"
|
||
else:
|
||
if content:
|
||
message = f"ℹ️ 今日新闻暂未发布,为您找到最近的一条新闻:\n{content}"
|
||
else:
|
||
message = "❌ 获取新闻失败,请稍后重试"
|
||
return NewsResult(success=True, message=message, is_today=is_today)
|
||
except Exception as exc:
|
||
logger.error(f"获取新闻失败: {exc}")
|
||
return NewsResult(success=False, message="❌ 获取新闻时发生错误")
|