Skip to content

Commit 77b8521

Browse files
committed
fix(ui): restore structured Telegram copy
1 parent e1b417e commit 77b8521

6 files changed

Lines changed: 322 additions & 206 deletions

File tree

src/handlers/group_handler.py

Lines changed: 36 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -36,18 +36,20 @@ def _escape_detail(self, value: object, max_length: int = 160) -> str:
3636
def _build_missing_domain_text(self) -> str:
3737
return (
3838
"⚠️ *没有识别到域名*\n\n"
39-
"请再次 @我,并附带域名或 URL。\n\n"
40-
"*示例域名*\n"
39+
"📝 请重新 @机器人,并在同一条消息中附带域名或 URL。\n\n"
40+
"🧪 *输入示例*\n"
4141
"`example.com`\n\n"
42-
"也可以回复一条含域名的消息,再 @。"
42+
"💬 也可以回复一条包含域名的消息,再 @机器人。"
4343
)
4444

4545
def _build_cn_domain_text(self, domain: str) -> str:
4646
safe_domain = self._escape_inline_code(domain)
4747
return (
4848
"ℹ️ *.cn 域名无需添加*\n\n"
49+
"🧾 *识别结果*\n"
4950
f"`{safe_domain}`\n\n"
50-
"此类域名默认直连。"
51+
"🇨🇳 `.cn` 域名已由现有策略默认直连,\n"
52+
"无需再次写入公开规则库。"
5153
)
5254

5355
def __init__(self, config: Config, data_manager: DataManager, handler_manager):
@@ -246,9 +248,11 @@ async def _process_domain_request(
246248
safe_domain = self._escape_inline_code(domain)
247249
processing_msg = await message.reply_text(
248250
"🔍 *正在检查域名*\n\n"
251+
"🧾 *待检查域名*\n"
249252
f"`{safe_domain}`\n\n"
250-
"符合条件时,将自动写入公开 GitHub,且不再二次确认。\n\n"
251-
f"提交者:{identity}",
253+
"⚠️ 群聊流程不会再次要求确认;符合条件时,\n"
254+
"系统将自动写入公开 GitHub 仓库。\n\n"
255+
f"👤 提交者:{identity}",
252256
parse_mode='Markdown',
253257
)
254258

@@ -278,9 +282,10 @@ async def _process_domain_request(
278282
safe_target = self._escape_inline_code(target_domain)
279283
result_text = (
280284
"✅ *直连规则已添加*\n\n"
285+
"🧾 *已写入规则*\n"
281286
f"`DOMAIN-SUFFIX,{safe_target}`\n\n"
282-
f"提交者:{identity}\n"
283-
f"本小时剩余{remaining} "
287+
f"👤 提交者:{identity}\n"
288+
f"📊 本小时还可添加{remaining} 个域名"
284289
)
285290
if result.get("commit_url"):
286291
short_sha = str(result.get("commit_sha", ""))[:8]
@@ -297,19 +302,25 @@ async def _process_domain_request(
297302
detail = self._escape_detail(result.get("message", "无需重复添加"))
298303
result_text = (
299304
"ℹ️ *无需重复添加*\n\n"
305+
"🧾 *已检查域名*\n"
300306
f"`{safe_domain}`\n\n"
301-
f"{detail}"
307+
f"📚 {detail}"
302308
)
303309

304310
elif result["action"] == "rejected":
305311
detail = self._escape_detail(result.get("message", "不符合添加条件"))
306312
result_text = (
307313
"⛔ *不符合添加条件*\n\n"
314+
"🧾 *已检查域名*\n"
308315
f"`{safe_domain}`\n\n"
316+
"💡 *判断依据*\n"
309317
f"{detail}"
310318
)
311319
if self.handler_manager.is_admin(user_id):
312-
result_text += "\n\n管理员可使用下方按钮强制添加。"
320+
result_text += (
321+
"\n\n🛡️ *管理员操作*\n"
322+
"管理员可使用下方按钮跳过判断并强制添加。"
323+
)
313324
keyboard = [
314325
[InlineKeyboardButton(
315326
"🛡️ 管理员强制添加",
@@ -325,15 +336,19 @@ async def _process_domain_request(
325336
if result.get("submission_uncertain"):
326337
result_text = (
327338
"⚠️ *提交结果暂时无法确认*\n\n"
339+
"🧾 *待核对域名*\n"
328340
f"`{safe_domain}`\n\n"
329-
"请先查询规则或查看 GitHub,避免重复提交。"
341+
"🔎 请先查询规则或检查 GitHub 提交记录,\n"
342+
"确认尚未写入后再重试,避免重复提交。"
330343
)
331344
else:
332345
result_text = (
333346
"❌ *处理失败*\n\n"
347+
"🧾 *目标域名*\n"
334348
f"`{safe_domain}`\n\n"
335-
f"{error}\n\n"
336-
"请稍后再次 @机器人。"
349+
f"💡 原因:{error}\n\n"
350+
"🛡️ 本次操作未修改任何规则。\n"
351+
"请稍后再次 @机器人并附带域名。"
337352
)
338353

339354
await processing_msg.edit_text(result_text, reply_markup=reply_markup, parse_mode='Markdown')
@@ -349,20 +364,25 @@ async def _process_domain_request(
349364
if added:
350365
text = (
351366
"⚠️ *规则已添加,但结果页更新失败*\n\n"
367+
"🧾 *已写入规则*\n"
352368
f"`DOMAIN-SUFFIX,{safe_domain}`\n\n"
353-
"请先查看 GitHub,避免重复提交。"
369+
"🔎 请检查 GitHub 提交记录,避免重复提交。"
354370
)
355371
elif uncertain:
356372
text = (
357373
"⚠️ *提交结果暂时无法确认*\n\n"
374+
"🧾 *待核对域名*\n"
358375
f"`{safe_domain}`\n\n"
359-
"请先查询规则或查看 GitHub,避免重复提交。"
376+
"🔎 请先查询规则或检查 GitHub 提交记录,\n"
377+
"确认尚未写入后再重试,避免重复提交。"
360378
)
361379
else:
362380
text = (
363381
"❌ *处理失败*\n\n"
382+
"🧾 *目标域名*\n"
364383
f"`{safe_domain}`\n\n"
365-
"请稍后再次 @机器人。"
384+
"🛡️ 本次操作未修改任何规则。\n"
385+
"请稍后再次 @机器人并附带域名。"
366386
)
367387
await message.reply_text(
368388
text,

0 commit comments

Comments
 (0)