🔄 卡若AI 同步 2026-02-26 16:41 | 更新:金仓、水桥平台对接、卡木、运营中枢工作台 | 排除 >20MB: 14 个
This commit is contained in:
84
01_卡资(金)/金仓_存储备份/微信管理/脚本/post_moments.sh
Executable file
84
01_卡资(金)/金仓_存储备份/微信管理/脚本/post_moments.sh
Executable file
@@ -0,0 +1,84 @@
|
||||
#!/usr/bin/env bash
|
||||
# 微信朋友圈命令行发布脚本(macOS)
|
||||
# 依赖:已安装 cliclick (brew install cliclick),微信已登录且窗口可见
|
||||
# 用法:./post_moments.sh "要发的文案" 或 ./post_moments.sh -c 进入校准模式
|
||||
|
||||
set -e
|
||||
WECHAT_APP="WeChat"
|
||||
|
||||
# ========== 坐标配置(首次使用请先运行 -c 校准,把下面 4 组坐标改成你本机的值)==========
|
||||
# 1. 左侧栏「朋友圈」图标点击位置
|
||||
: "${WECHAT_MOMENTS_X:=80}"
|
||||
: "${WECHAT_MOMENTS_Y:=620}"
|
||||
# 2. 朋友圈页面里的「发朋友圈」相机/按钮位置
|
||||
: "${WECHAT_POST_BTN_X:=320}"
|
||||
: "${WECHAT_POST_BTN_Y:=80}"
|
||||
# 3. 发朋友圈窗口中的「文字输入框」位置
|
||||
: "${WECHAT_INPUT_X:=400}"
|
||||
: "${WECHAT_INPUT_Y:=280}"
|
||||
# 4. 「发表」按钮位置
|
||||
: "${WECHAT_SUBMIT_X:=500}"
|
||||
: "${WECHAT_SUBMIT_Y:=420}"
|
||||
|
||||
usage() {
|
||||
echo "用法:"
|
||||
echo " 发布朋友圈: $0 \"你要发的文案\""
|
||||
echo " 校准坐标: $0 -c"
|
||||
echo "说明:首次使用请先运行 -c,按提示把鼠标移到对应位置,记下坐标并设置环境变量或修改本脚本顶部坐标。"
|
||||
exit 0
|
||||
}
|
||||
|
||||
# 校准模式:按提示把鼠标移到对应位置后按回车,脚本会输出坐标
|
||||
calibrate() {
|
||||
osascript -e "tell application \"$WECHAT_APP\" to activate"
|
||||
sleep 1
|
||||
echo "【校准】请把鼠标移到对应位置后按回车,脚本会打印坐标。"
|
||||
echo ""
|
||||
read -r -p "1. 鼠标移到左侧「朋友圈」图标上,按回车 → " && echo " WECHAT_MOMENTS_X,Y=$(cliclick p:stdout 2>/dev/null)"
|
||||
read -r -p "2. 点进朋友圈,鼠标移到「发朋友圈」按钮上,按回车 → " && echo " WECHAT_POST_BTN_X,Y=$(cliclick p:stdout 2>/dev/null)"
|
||||
read -r -p "3. 点开发朋友圈,鼠标移到文字输入框中心,按回车 → " && echo " WECHAT_INPUT_X,Y=$(cliclick p:stdout 2>/dev/null)"
|
||||
read -r -p "4. 鼠标移到「发表」按钮上,按回车 → " && echo " WECHAT_SUBMIT_X,Y=$(cliclick p:stdout 2>/dev/null)"
|
||||
echo ""
|
||||
echo "请把上面 4 行坐标填到本脚本顶部坐标配置,或运行时 export 环境变量。"
|
||||
}
|
||||
|
||||
if [[ "$1" == "-c" ]] || [[ "$1" == "--calibrate" ]]; then
|
||||
calibrate
|
||||
exit 0
|
||||
fi
|
||||
|
||||
if [[ -z "$1" ]]; then
|
||||
usage
|
||||
fi
|
||||
|
||||
TEXT="$1"
|
||||
|
||||
# 检查 cliclick
|
||||
if ! command -v cliclick &>/dev/null; then
|
||||
echo "错误:未找到 cliclick。请先执行: brew install cliclick"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
echo "正在激活微信并发送朋友圈..."
|
||||
osascript -e "tell application \"$WECHAT_APP\" to activate"
|
||||
sleep 1.2
|
||||
|
||||
# 1. 点左侧「朋友圈」
|
||||
cliclick c:"$WECHAT_MOMENTS_X","$WECHAT_MOMENTS_Y"
|
||||
sleep 1.5
|
||||
|
||||
# 2. 点「发朋友圈」按钮
|
||||
cliclick c:"$WECHAT_POST_BTN_X","$WECHAT_POST_BTN_Y"
|
||||
sleep 1.2
|
||||
|
||||
# 3. 把文案放进剪贴板,点输入框后粘贴(避免中文输入法问题)
|
||||
echo -n "$TEXT" | pbcopy
|
||||
cliclick c:"$WECHAT_INPUT_X","$WECHAT_INPUT_Y"
|
||||
sleep 0.5
|
||||
cliclick kd:cmd t:v ku:cmd
|
||||
sleep 0.5
|
||||
|
||||
# 4. 点「发表」
|
||||
cliclick c:"$WECHAT_SUBMIT_X","$WECHAT_SUBMIT_Y"
|
||||
|
||||
echo "已执行点击流程。请在本机微信窗口确认是否已进入发朋友圈界面并粘贴好文案;若坐标不对请运行 $0 -c 重新校准。"
|
||||
42
01_卡资(金)/金仓_存储备份/微信管理/脚本/朋友圈命令行发布说明.md
Normal file
42
01_卡资(金)/金仓_存储备份/微信管理/脚本/朋友圈命令行发布说明.md
Normal file
@@ -0,0 +1,42 @@
|
||||
# 微信朋友圈命令行发布说明
|
||||
|
||||
在 **macOS 本机**通过命令行触发微信(已打开且登录)发朋友圈,通过 **cliclick** 模拟点击完成操作。
|
||||
|
||||
## 依赖
|
||||
|
||||
- 已安装 [cliclick](https://github.com/BlueM/cliclick):`brew install cliclick`(你本机已安装)
|
||||
- 微信已登录,发朋友圈前**窗口保持可见**(可最小化到 Dock,脚本会激活)
|
||||
|
||||
## 用法
|
||||
|
||||
```bash
|
||||
# 进入脚本目录
|
||||
cd "/Users/karuo/Documents/个人/卡若AI/01_卡资(金)/金仓_存储备份/微信管理/脚本"
|
||||
|
||||
# 首次使用:校准坐标(必做一次)
|
||||
./post_moments.sh -c
|
||||
|
||||
# 按提示把鼠标依次移到 4 个位置并回车,脚本会输出 4 组坐标,
|
||||
# 把坐标填到 post_moments.sh 顶部的变量里(或 export 环境变量)
|
||||
|
||||
# 发一条朋友圈(文案用双引号包起来)
|
||||
./post_moments.sh "今天天气不错~"
|
||||
```
|
||||
|
||||
## 校准说明
|
||||
|
||||
坐标和屏幕分辨率、微信窗口位置有关,**每台机器要做一次校准**:
|
||||
|
||||
1. 运行 `./post_moments.sh -c`
|
||||
2. 按提示依次把鼠标移到:**朋友圈入口** → **发朋友圈按钮** → **文字输入框** → **发表按钮**,每次移好后按回车,记下输出的 `x,y`
|
||||
3. 把 4 组坐标填到 `post_moments.sh` 里对应的 `WECHAT_*_X`、`WECHAT_*_Y`,或运行时 `export WECHAT_MOMENTS_X=80 WECHAT_MOMENTS_Y=620 ...` 再执行
|
||||
|
||||
## 注意事项
|
||||
|
||||
- 微信没有官方「发朋友圈」API,本脚本通过**模拟点击**实现,微信界面改版后坐标可能失效,需重新校准。
|
||||
- 文案通过**剪贴板粘贴**进输入框,发帖前不要手动改剪贴板。
|
||||
- 若终端没有**辅助功能**权限,cliclick 可能无法正常点击,需在 **系统设置 → 隐私与安全性 → 辅助功能** 里勾选终端(或 iTerm)。
|
||||
|
||||
## 脚本位置
|
||||
|
||||
`01_卡资(金)/金仓_存储备份/微信管理/脚本/post_moments.sh`
|
||||
Reference in New Issue
Block a user