macOS通过快捷指令获取短信验证码

Posted by

网上有很多类似的教程,我是在原来基础上做了简单的调整。

步骤:

打开快捷指令,选择【运行Shell脚本】,复制下面代码保存即可。

#!/bin/bash

echo "starting to check code";

# 动态获取当前用户的home目录
home_dir=$(eval echo ~$USER)

# 通过 Sqlite3 查 1 条 iMessage 最近 60 秒收到包含"验证码"的消息
result=$(sqlite3 $home_dir/Library/Messages/chat.db 'SELECT text FROM message WHERE text LIKE "%验证码%" AND datetime(date/1000000000 + 978307200,"unixepoch","localtime") > datetime("now","localtime","-60 second") ORDER BY date DESC LIMIT 1;')

# 如果查询结果为空,则发送未找到验证码的通知并退出
if [ -z "$result" ]; then
    echo "latest not receive code messages";
    osascript -e "display notification \"最近60秒未收到验证码!\" with title \"提示\"   ";
    exit 0
fi

# 从查询结果中提取验证码
code=$(echo "$result" | grep -o "[0-9]\{4,6\}");

# 如果找到了验证码,将其复制到剪贴板并发送通知
if [ ! -z "$code" ]; then
    echo "code is $code";
    echo "$code" | pbcopy;
    osascript -e "display notification \"$code\" with title \"验证码已复制\"";
else
    # 如果没有找到验证码,发送未找到验证码的通知
    osascript -e "display notification \"未找到验证码!\" with title \"提示\"   ";
fi

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注