原帖: https://www.v2ex.com/t/832597
因为正文排版, 以及宏的变动比较大, 所以不会在原帖 append 了.
之前没能很好地处理断网期间的转发策略, 所以整个宏又被拆分为 2 个部分.
# 需要 root 权限
# 挂载根目录为可读写
mount -o rw,remount /
# 在末尾追加写入一条命令到 /sms_forward_queue.sh
# 同样需要账号的 token 及房间 ID
echo -E "curl -H \"Content-Type: application/json\" -H \"Authorization: Bearer <access_token>\" -s -X POST -k -d '{\"msgtype\": \"m.text\", \"body\": \"短信转发 (从队列). 发送者: [sms_number]\u000a\u000a[sms_message]\"}' \"https://example.com[:port]/_matrix/client/r0/rooms/%21room_id:example.com/send/m.room.message\"" >> /sms_forward_queue.sh
# 在末尾追加写入一个换行符到 /sms_forward_queue.sh
echo "\n" >> /sms_forward_queue.sh
# 赋予 /sms_forward_queue.sh 可执行权限
chmod 0766 /sms_forward_queue.sh
# 因为 /sms_forward_queue.sh 的本质是一个 Shell 脚本, 所以选择保存到根目录直到时机成熟时执行
curl -s https://example.com[:port]/_matrix/federation/v1/version
# 不提交任何信息, 仅用于尝试连接服务器
# 需要选择 "将输出保存为字符串变量, 选择步骤 2 新建的变量的其中一个"
# 建议设置超时
b) 动作 2: 添加 "如果条件", 在其中添加条件: "MacroDroid 特定" -> "MacroDroid 变量", 选择步骤 2 新建的变量的其中一个. 运算符选择 "包括", 值填写 {"server":{"name":"Synapse","version":"
// 用于判断服务器是否返回了 json, 因为 json 的格式固定就没用正则表达式, 反正无脑判断前几个字符就足够了.
c) 动作 2-1: 添加 Shell 脚本:# 判断 /sms_forward_queue.sh 是否存在, 存在返回 true, 不存在返回 false
if [ -e /sms_forward_queue.sh ]
then
print true
else
print false
fi
d) 动作 2-2: 在其中添加 "如果条件", 在其中添加条件: "MacroDroid 特定" -> "MacroDroid 变量", 选择步骤 2 新建的变量的另一个. 运算符选择 "=", 值填写 true
e) 动作 2-2-1: 添加 toast 用于提示本条短信已暂存并进入待发队列;# 需要 root 权限
# 挂载根目录为可读写
mount -o rw,remount /
# 执行 /sms_forward_queue.sh
/sms_forward_queue.sh
# 脚本执行完成后删除, 避免重复补发
rm /sms_forward_queue.sh
g) 动作 2-2-3 (可选): 此处可以添加一个通知 (或 toast) 用于提示短信自动补发成功. 以上动作的排列顺序:
https://imgur.com/a/4C6y1pv
https://imgur.com/a/F1rHMIq
效果:
现在即使断网也不用担心短信漏发, 一旦恢复联网, 因为触发器的关系会自动执行 /sms_forward_queue.sh
中的命令.
脚本执行完成后自动删除. 下一个断网周期会重新生成.
如果长时间断网, 脚本中的命令会累积直到恢复联网.
1
someonesnone 2022-02-10 09:42:47 +08:00 via iPhone
我用 tasker 转发企业微信
|
2
sun522198558 2022-02-10 14:44:02 +08:00
能主动回复信息吗?
|
3
YamatoRyou OP @sun522198558 这是纯转发方案, 不能也不会考虑. 我搞这个的目的只是为了方便地复制验证码和链接.
|
4
hfl1995 2022-02-11 09:58:32 +08:00
目前有个 app 叫 小转发 ,还挺好用
|
5
alun8522 2022-02-11 15:41:30 +08:00
tasker 吧
|
6
Marian 2022-02-11 17:27:06 +08:00 via iPhone
github 上有个项目 pppscn/SmsForwarder ,还可以对通知进行转发
|
7
pytth 2022-02-12 10:12:27 +08:00
自用转发到邮箱。
![20220212101115.jpg]( https://ucc.alicdn.com/pic/developer-ecology/970bb1847c46479b9afc155ae9adedd3.jpg) |