AI Update: بله
This commit is contained in:
+17
-7
@@ -135,9 +135,11 @@ class AdminBotService:
|
|||||||
|
|
||||||
async def on_website_error_alert(self, alert_text: str, site_id: int):
|
async def on_website_error_alert(self, alert_text: str, site_id: int):
|
||||||
buttons = [[Button.inline("🤖 تحلیل مجدد هوشمند وبسایت", data=f"web_reanalyze:{site_id}")]]
|
buttons = [[Button.inline("🤖 تحلیل مجدد هوشمند وبسایت", data=f"web_reanalyze:{site_id}")]]
|
||||||
if self.review_channel_id:
|
def_adm = await self.repo.get_default_admin_channel()
|
||||||
|
target_ch = def_adm.channel_id if def_adm else self.review_channel_id
|
||||||
|
if target_ch:
|
||||||
try:
|
try:
|
||||||
await self.client.send_message(self.review_channel_id, alert_text, parse_mode="html", buttons=buttons)
|
await self.client.send_message(target_ch, alert_text, parse_mode="html", buttons=buttons)
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Failed to send website alert to review channel: {e}")
|
logger.error(f"Failed to send website alert to review channel: {e}")
|
||||||
for admin_id in self.admin_user_ids:
|
for admin_id in self.admin_user_ids:
|
||||||
@@ -178,9 +180,12 @@ class AdminBotService:
|
|||||||
|
|
||||||
async def notify_admins(self, text: str, include_review_channel: bool = True):
|
async def notify_admins(self, text: str, include_review_channel: bool = True):
|
||||||
"""Broadcast Persian message to admin DMs, and optionally review channel."""
|
"""Broadcast Persian message to admin DMs, and optionally review channel."""
|
||||||
if include_review_channel and self.review_channel_id:
|
if include_review_channel:
|
||||||
|
def_adm = await self.repo.get_default_admin_channel()
|
||||||
|
target_ch = def_adm.channel_id if def_adm else self.review_channel_id
|
||||||
|
if target_ch:
|
||||||
try:
|
try:
|
||||||
await self.client.send_message(self.review_channel_id, text, parse_mode="html")
|
await self.client.send_message(target_ch, text, parse_mode="html")
|
||||||
except Exception as e:
|
except Exception as e:
|
||||||
logger.error(f"Failed to notify review channel: {e}")
|
logger.error(f"Failed to notify review channel: {e}")
|
||||||
|
|
||||||
@@ -1306,7 +1311,7 @@ class AdminBotService:
|
|||||||
is_def = (source.admin_channel_id is None)
|
is_def = (source.admin_channel_id is None)
|
||||||
def_mark = "✅ " if is_def else ""
|
def_mark = "✅ " if is_def else ""
|
||||||
def_adm = await self.repo.get_default_admin_channel()
|
def_adm = await self.repo.get_default_admin_channel()
|
||||||
def_name = f" ({def_adm.title})" if (def_adm and def_adm.title) else (f" ({self.review_channel_id})" if self.review_channel_id else "")
|
def_name = f" ({def_adm.title})" if (def_adm and def_adm.title) else (f" ({def_adm.channel_id})" if def_adm else (f" ({self.review_channel_id})" if self.review_channel_id else " (تعریفنشده)"))
|
||||||
buttons.append([Button.inline(f"{def_mark}⚙️ پیشفرض سیستم{def_name}", data=f"src_set_adm:{source.id}:none")])
|
buttons.append([Button.inline(f"{def_mark}⚙️ پیشفرض سیستم{def_name}", data=f"src_set_adm:{source.id}:none")])
|
||||||
buttons.append([Button.inline("➕ افزودن کانال ادمین جدید", data=f"src_add_adm:{source.id}")])
|
buttons.append([Button.inline("➕ افزودن کانال ادمین جدید", data=f"src_add_adm:{source.id}")])
|
||||||
buttons.append([Button.inline("🔙 بازگشت به تنظیمات کانال مبدا", data=f"src_view:{source.id}")])
|
buttons.append([Button.inline("🔙 بازگشت به تنظیمات کانال مبدا", data=f"src_view:{source.id}")])
|
||||||
@@ -1333,7 +1338,7 @@ class AdminBotService:
|
|||||||
is_def = (site.admin_channel_id is None)
|
is_def = (site.admin_channel_id is None)
|
||||||
def_mark = "✅ " if is_def else ""
|
def_mark = "✅ " if is_def else ""
|
||||||
def_adm = await self.repo.get_default_admin_channel()
|
def_adm = await self.repo.get_default_admin_channel()
|
||||||
def_name = f" ({def_adm.title})" if (def_adm and def_adm.title) else (f" ({self.review_channel_id})" if self.review_channel_id else "")
|
def_name = f" ({def_adm.title})" if (def_adm and def_adm.title) else (f" ({def_adm.channel_id})" if def_adm else (f" ({self.review_channel_id})" if self.review_channel_id else " (تعریفنشده)"))
|
||||||
buttons.append([Button.inline(f"{def_mark}⚙️ پیشفرض سیستم{def_name}", data=f"web_set_adm:{site.id}:none")])
|
buttons.append([Button.inline(f"{def_mark}⚙️ پیشفرض سیستم{def_name}", data=f"web_set_adm:{site.id}:none")])
|
||||||
buttons.append([Button.inline("➕ افزودن کانال ادمین جدید", data=f"web_add_adm:{site.id}")])
|
buttons.append([Button.inline("➕ افزودن کانال ادمین جدید", data=f"web_add_adm:{site.id}")])
|
||||||
buttons.append([Button.inline("🔙 بازگشت به تنظیمات وبسایت", data=f"web_view:{site.id}")])
|
buttons.append([Button.inline("🔙 بازگشت به تنظیمات وبسایت", data=f"web_view:{site.id}")])
|
||||||
@@ -1354,7 +1359,10 @@ class AdminBotService:
|
|||||||
Button.inline(f"📋 {ch.title or ch.channel_id}{def_star}", data=f"adm_view:{ch.id}"),
|
Button.inline(f"📋 {ch.title or ch.channel_id}{def_star}", data=f"adm_view:{ch.id}"),
|
||||||
])
|
])
|
||||||
else:
|
else:
|
||||||
|
if self.review_channel_id:
|
||||||
lines.append(f"<i>تنها کانال پیشفرض محیطی فعال است: <code>{self.review_channel_id}</code></i>")
|
lines.append(f"<i>تنها کانال پیشفرض محیطی فعال است: <code>{self.review_channel_id}</code></i>")
|
||||||
|
else:
|
||||||
|
lines.append("<i>هیچ کانال نظارتی تعریف نشده است. لطفاً از طریق دکمه زیر کانال نظارت جدید اضافه کنید.</i>")
|
||||||
|
|
||||||
buttons.append([Button.inline("➕ افزودن کانال ادمین جدید", data="add_adm_ch")])
|
buttons.append([Button.inline("➕ افزودن کانال ادمین جدید", data="add_adm_ch")])
|
||||||
buttons.append([Button.inline("🔙 بازگشت به منوی رباتها", data="hub_bots")])
|
buttons.append([Button.inline("🔙 بازگشت به منوی رباتها", data="hub_bots")])
|
||||||
@@ -1426,13 +1434,15 @@ class AdminBotService:
|
|||||||
posts = await self.repo.clear_all_review_messages()
|
posts = await self.repo.clear_all_review_messages()
|
||||||
cleared_db_count = len(posts)
|
cleared_db_count = len(posts)
|
||||||
by_channel: Dict[int, List[int]] = {}
|
by_channel: Dict[int, List[int]] = {}
|
||||||
|
def_adm = await self.repo.get_default_admin_channel()
|
||||||
|
default_ch = def_adm.channel_id if def_adm else self.review_channel_id
|
||||||
for p in posts:
|
for p in posts:
|
||||||
if p.media_path and os.path.exists(p.media_path):
|
if p.media_path and os.path.exists(p.media_path):
|
||||||
try:
|
try:
|
||||||
os.remove(p.media_path)
|
os.remove(p.media_path)
|
||||||
except Exception:
|
except Exception:
|
||||||
pass
|
pass
|
||||||
ch_id = p.review_channel_id or self.review_channel_id
|
ch_id = p.review_channel_id or default_ch
|
||||||
if ch_id and p.review_message_id:
|
if ch_id and p.review_message_id:
|
||||||
by_channel.setdefault(ch_id, []).append(p.review_message_id)
|
by_channel.setdefault(ch_id, []).append(p.review_message_id)
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user