分享自己开发的两个 alfred 工作流(短信验证码提取/阿里机器翻译)

2022-07-28 15:52:00 +08:00
 Seulgi
1. [短信验证码提取]( https://github.com/vincentXu97/alfred-workflow-message-code)
提取最新 10 条包含验证码三个字的短信文本, 提取其中的验证码.回填回 alfred 候选项, 回车复制到粘贴板
2. [阿里机器翻译(自用替代有道翻译)]( https://github.com/vincentXu97/alfred-workflow-translate-alimt)
利用阿里机器翻译每月百万字符的免费白嫖. 因为只当一个翻译工具, 所以有道的其他诸如记词本之类的对我用处不大.加上没有白嫖额度.
通过判断翻译文本是否包含中文字符, 如果有中文字符,则默认翻译为英文, 如果不包含则翻译为中文.
1834 次点击
所在节点    macOS
12 条回复
jheroy
2022-07-28 16:38:26 +08:00
短信验证码用 alfred 还是太麻烦了, 我目前是用 launchctl 监听短信文件夹, 如果有改动就自动调用脚本查看最近两分钟的短信如果有验证码就复制复制成功发个 notify.
```
cat ~/Library/LaunchAgents/com.me.verifycode.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.me.verifycode</string>
<key>ProgramArguments</key>
<array>
<string>bash</string>
<string>/Users/xxx/Library/LaunchAgents/verifycode.sh</string>
</array>
<key>WatchPaths</key>
<array>
<string>/Users/xxx/Library/Messages/</string>
</array>
</dict>
</plist>
```
Seulgi
2022-07-28 16:48:27 +08:00
@jheroy 可以分享一下. applescript 没怎么研究. 你这个确实是最佳的.有新验证码短信自动复制给个提示, 直接 command v 就行
missqso
2022-07-28 16:50:12 +08:00
https://github.com/DreamSaddle/MacCopier
昨天看到的一个软件
MacCopier 是一个提供在 Macos 中收到短信验证码后自动复制到剪贴板功能的软件。
jheroy
2022-07-28 16:51:52 +08:00
shell 就用的之前站里面有个老哥用的脚本稍微修改了一点点.
```
echo "starting to check code"
# 路径中的 dufu 记得改成自己电脑的名字
# 通过 Sqlite3 查 1 条 iMessage 最近 60 秒收到消息( iMessage 收到消息的时间可能有延迟,这里实际冗余多了 2 秒)
#! /Users/dufu/Library/Messages/chat.db
#!这个 DB 文件和目录记得给开权限,默认是不给读的。
result=$(sqlite3 /Users/xxx/Library/Messages/chat.db 'SELECT text FROM message WHERE datetime(date/1000000000 + 978307200,"unixepoch","localtime") > datetime("now","localtime","-100 second") ORDER BY date DESC LIMIT 1;')

# echo $result >> /tmp/t.log

name="验证码";

# 看下最近有没有收到消息
if [ ! $result ]; then
echo "latest not receive code messsages";
# osascript -e "display notification \"最近 60 秒未收到验证码!\" with title \"提示\" ";
return
fi

# 如果短信中包含验证码则取前 4-6 个数字
if [[ "$result" =~ "$name" ]] || [[ "$result" =~ "Verification" ]]; then
code=`echo $result | grep -o "[0-9]\{4,6\}"`;
echo "code is $code";
# 将获取到的数字输出到剪贴板
echo "$code" | pbcopy;

# 发个系统通知,展示内容,同时提醒你可以 Command + v 粘贴了。
osascript -e "display notification \"$code\" with title \"验证码已复制\"";
fi
```
jheroy
2022-07-28 16:55:06 +08:00
@missqso 之前用过, 不过不知道为啥在我 M1air 上不好使, 而且还需要短信访问权限, 还是自己写的脚本放心.
Seulgi
2022-07-28 17:04:48 +08:00
@missqso 可以. 这个不错.
Seulgi
2022-07-28 17:05:16 +08:00
还是吧里老哥们强
QurakJaker
2022-07-28 21:15:16 +08:00
短信验证码用的这个: https://github.com/squatto/alfred-imessage-2fa/
翻译用 bob
Seulgi
2022-07-29 09:57:47 +08:00
@QurakJaker 短信验证码那个我发现了的, 但是因为不支持 4 位之类的问题. 而且我不想装 php 哈哈.
翻译我也用 bob. 实际上 idea 里翻译我用插件的 translate 比用 bob 更方便.
arare
2022-08-04 17:49:10 +08:00
感谢,很好用~
caonuan
2023-03-09 16:03:09 +08:00
@jheroy launchctl 没办法绑定用户,pbcopy 和 osascript 都执行不了,大佬怎么解决的?
jheroy
2023-03-09 17:52:41 +08:00
@caonuan launchctl 配置放在~/Library/LaunchAgents 下就和用户相关, pbcopy 和 osascript 执行不了是什么表现.

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/869267

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX