mirror of
https://github.com/hotyue/IP-Sentinel.git
synced 2026-08-28 19:48:07 +08:00
fix(master): 修复 Bot 凭证切换交互三连 bug (Issue #102 后续)
- 提示文本被吞: curl JSON 内 \\` 触发反引号命令替换, 改纯文本两行式提示 - 完整凭证无响应: B2 拦截器仅认引用回复, 增加文本形态双触发兜底 - 输入格式: 支持上下两行 (Token/ChatID), 兼容一行空格分隔
This commit is contained in:
+13
-2
@@ -289,9 +289,19 @@ while true; do
|
|||||||
|
|
||||||
# ----------------------------------------------------------
|
# ----------------------------------------------------------
|
||||||
# [业务流 B2] 拦截并解析 Bot 凭证切换回执 (Issue #102)
|
# [业务流 B2] 拦截并解析 Bot 凭证切换回执 (Issue #102)
|
||||||
|
# [双触发] ① 引用回复提示消息 ② 文本形态直接命中 "Token + ChatID"
|
||||||
|
# (客户端未挂引用时兜底,防止凭证消息被静默吞掉)
|
||||||
# ----------------------------------------------------------
|
# ----------------------------------------------------------
|
||||||
|
RECONFIG_CANDIDATE=""
|
||||||
if [[ "$REPLY_TO_TEXT" == *"🔁 请回复本消息填写新 Bot 凭证:"* ]]; then
|
if [[ "$REPLY_TO_TEXT" == *"🔁 请回复本消息填写新 Bot 凭证:"* ]]; then
|
||||||
RECONFIG_INPUT=$(echo "$TEXT" | tr -cd '0-9A-Za-z:_ \n-' | tr -s ' \n' ' ' | sed 's/^ //; s/ $//')
|
RECONFIG_CANDIDATE="$TEXT"
|
||||||
|
elif [[ "$TEXT" =~ ^[0-9]{6,}:[A-Za-z0-9_-]{30,}[[:space:]]+-?[0-9]{5,}[[:space:]]*$ ]] || \
|
||||||
|
[[ "$TEXT" =~ ^[0-9]{6,}:[A-Za-z0-9_-]{30,}[[:space:]]*$ ]]; then
|
||||||
|
RECONFIG_CANDIDATE="$TEXT"
|
||||||
|
fi
|
||||||
|
if [ -n "$RECONFIG_CANDIDATE" ]; then
|
||||||
|
# [格式归一] 支持上下两行 (Token/ChatID) 或一行空格分隔
|
||||||
|
RECONFIG_INPUT=$(echo "$RECONFIG_CANDIDATE" | tr '\n' ' ' | tr -cd '0-9A-Za-z:_ -' | tr -s ' ' | sed 's/^ //; s/ $//')
|
||||||
if [ -n "$RECONFIG_INPUT" ]; then
|
if [ -n "$RECONFIG_INPUT" ]; then
|
||||||
TEXT="do_reconfig:${RECONFIG_INPUT}"
|
TEXT="do_reconfig:${RECONFIG_INPUT}"
|
||||||
fi
|
fi
|
||||||
@@ -429,9 +439,10 @@ while true; do
|
|||||||
"reconfig_input")
|
"reconfig_input")
|
||||||
if [ -z "$CB_ID" ]; then send_msg "$CHAT_ID" "⛔ 安全拦截:非法特权执行环境。"; continue; fi
|
if [ -z "$CB_ID" ]; then send_msg "$CHAT_ID" "⛔ 安全拦截:非法特权执行环境。"; continue; fi
|
||||||
CHAT_ID=$(echo "$CHAT_ID" | tr -cd '0-9-')
|
CHAT_ID=$(echo "$CHAT_ID" | tr -cd '0-9-')
|
||||||
|
# [Issue #102 修复] 原 \\` 在双引号内触发反引号命令替换,格式文本被吞;改用纯文本两行式提示
|
||||||
curl -s -X POST "https://api.telegram.org/bot${TG_TOKEN}/sendMessage" \
|
curl -s -X POST "https://api.telegram.org/bot${TG_TOKEN}/sendMessage" \
|
||||||
-H "Content-Type: application/json" \
|
-H "Content-Type: application/json" \
|
||||||
-d "{\"chat_id\":\"$CHAT_ID\",\"text\":\"🔁 请回复本消息填写新 Bot 凭证:\\n格式: \\`新Token 新ChatID\\` (空格分隔)\\n示例: \\`123456789:AAH... 123456789\\`\",\"parse_mode\":\"Markdown\",\"reply_markup\":{\"force_reply\":true}}" > /dev/null
|
-d "{\"chat_id\":\"$CHAT_ID\",\"text\":\"🔁 请回复本消息填写新 Bot 凭证:\\n第一行: 新 Token (形如 123456789:AAH...)\\n第二行: 新 Chat ID (形如 -1001234567890)\\n*(也支持一行空格分隔)*\",\"parse_mode\":\"Markdown\",\"reply_markup\":{\"force_reply\":true}}" > /dev/null
|
||||||
;;
|
;;
|
||||||
|
|
||||||
"do_reconfig:*")
|
"do_reconfig:*")
|
||||||
|
|||||||
+2
-2
@@ -1,2 +1,2 @@
|
|||||||
MASTER_VERSION=4.3.4
|
MASTER_VERSION=4.3.5
|
||||||
AGENT_VERSION=4.3.4
|
AGENT_VERSION=4.3.5
|
||||||
|
|||||||
Reference in New Issue
Block a user