docs: add release notes file and sync Telegram bot release notes broadcast

This commit is contained in:
mamad
2026-08-28 19:52:24 +03:30
parent ad8df0bdc9
commit 3975326103
2 changed files with 46 additions and 14 deletions
+12 -14
View File
@@ -1262,20 +1262,18 @@ class AdminBotService:
await event.reply(help_text, parse_mode="html", buttons=menu)
def get_latest_change_notes(self) -> str:
"""Return the formatted change notes in Persian."""
return (
"📢 <b>یادداشت تغییرات و قابلیت‌های جدید سیستم (Release Notes):</b>\n\n"
"1️⃣ <b>تنظیم دستی زنجیره پشتیبان هوش مصنوعی (Manual Fallback Chain):</b>\n"
"• امکان تعیین ارائه‌دهنده پشتیبان اختصاصی برای تک‌تک سرویس‌دهنده‌ها در منوی هوش مصنوعی.\n"
"• هدایت دقیق زنجیره به ارائه‌دهنده مدنظر شما در صورت بروز خطا و ارسال اعلان لحظه‌ای به ادمین.\n\n"
"2️⃣ <b>پشتیبانی کامل از تصاویر و مالتی‌مدال (Vision Multimodal):</b>\n"
"• ارسال تصاویر پست‌های ورودی به مدل‌های هوش مصنوعی (AGY، OpenAI Vision، Gemini).\n"
"• درک و تحلیل متن درون عکس‌ها، نمودارها و اینفوگرافیک‌ها در بازنویسی.\n\n"
"3️⃣ <b>پایش دیسک سیستم‌عامل سرور (Host OS Disk Metrics):</b>\n"
"• نمایش ظرفیت واقعی، فضای مصرف‌شده و آزاد دیسک اصلی سرور در گرافانا و دستور <code>/stats</code>.\n\n"
"4️⃣ <b>دکمه توقف و شروع اضطراری (Emergency Stop):</b>\n"
"• دکمه توقف و ازسرگیری مستقیم از منوی اصلی، با فعال ماندن همیشگی پاسخگویی ربات به ادمین‌ها."
)
"""Return the formatted change notes in Persian from RELEASE_NOTES.md."""
notes_file = os.path.join(os.path.dirname(os.path.dirname(__file__)), "RELEASE_NOTES.md")
if os.path.exists(notes_file):
try:
with open(notes_file, "r", encoding="utf-8") as f:
content = f.read().strip()
if content:
return content
except Exception as e:
logger.debug(f"Error reading RELEASE_NOTES.md: {e}")
return "📢 <b>گزارش تغییرات سیستم (Release Notes):</b>\nسیستم با آخرین به‌روزرسانی‌ها در حال اجرا است."
async def broadcast_change_notes(self):
"""Send latest change notes to admins and review channel."""