40 lines
1.8 KiB
Bash
Executable File
40 lines
1.8 KiB
Bash
Executable File
#!/bin/bash
|
||
# send-qr.sh — 发送指定账号的登录二维码(固定操作,2026-08-31)
|
||
# 用法:bash send-qr.sh <hr1|hr2|both> [group|dm]
|
||
# hr1/hr2 指定账号;both=两个都发
|
||
# group 发到数字HR群(默认——主场景是群里@机器人要码)
|
||
# dm 发到用户私聊(仅用户在私聊明确要码时用)
|
||
# 说明:强制刷新登录页拿新码(保证有效),发送失败自动降级纯文字。
|
||
# 这是固化脚本——AI 被要求发二维码时直接执行本命令,不做多余分析。
|
||
|
||
set -u
|
||
SCRIPTS=/opt/data/skills/recruitment-resume-screener/scripts
|
||
HERMES=/opt/hermes/.venv/bin/hermes
|
||
DM='oc_d09c77b62ca5f90f6699830fbc695c44'
|
||
GROUP='oc_7ef4980f25ec2a80bb013d5dd79b9864'
|
||
|
||
ACCTS="${1:?用法: send-qr.sh <hr1|hr2|both> [group|dm]}"
|
||
TARGET="${2:-group}"
|
||
[ "$TARGET" = "dm" ] && DEST=$DM || DEST=$GROUP
|
||
|
||
[ "$ACCTS" = "both" ] && ACCTS="hr1 hr2"
|
||
|
||
for ACCT in $ACCTS; do
|
||
case $ACCT in
|
||
hr1) PORT=9223; LABEL="Chrome·合塑账号";;
|
||
hr2) PORT=9225; LABEL="Edge·派卡账号";;
|
||
*) echo "未知账号: $ACCT(只支持 hr1/hr2/both)"; exit 1;;
|
||
esac
|
||
QR=/tmp/zhaopin-login-qr-$ACCT-request.png
|
||
echo "[$ACCT] 抓取二维码(刷新登录页拿新码)..."
|
||
if node "$SCRIPTS/login-qrcode.js" $PORT $QR 2>&1 | grep -q SAVED && [ -s "$QR" ]; then
|
||
printf "🚨 当前%s(%s)账号登录二维码(实时抓取):\n扫码可重新登录" "$ACCT" "$LABEL" > /tmp/qr-req-$ACCT.txt
|
||
echo "MEDIA:$QR" >> /tmp/qr-req-$ACCT.txt
|
||
$HERMES send -t "feishu:$DEST" -f /tmp/qr-req-$ACCT.txt >/dev/null 2>&1 \
|
||
&& echo "[$ACCT] ✅ 已发送二维码 → $([ "$DEST" = "$GROUP" ] && echo 群 || echo 私聊)" \
|
||
|| echo "[$ACCT] ❌ 发送失败"
|
||
else
|
||
echo "[$ACCT] ❌ 二维码抓取失败(CDP不通或页面异常)"
|
||
fi
|
||
done
|