无服务器公网与本地自动化联动细节

先说一种可能的场景:在聊天软件中给特定的人发送消息,对方可以自动将接收到的消息添加到笔记。

看起来很方便,也有很多类似的实现,不过在我的经验中,其实实际使用频率并不高。但这不重要,昨天 Obsidian 群里有人聊到了这个问题,然后我就顺着思路想了一会儿,觉得很有意思,记录一下:

最直观的方法:搭建一个 bot,发送消息给 bot,bot 把消息进行进一步处理。这需要一个服务器,我没有,而且单为这样一件事情而弄个服务器也不值当的。那有没有什么方法可以把消息给转发到本地电脑中?

  • 本地电脑再登陆一个账号充当 bot,但是现在账号的成本也不低;
  • 找个第三方服务中转一下

然后想到了 IFTTT,接收消息部分完全没问题。但下一步如何处理……我找到的方法是网盘,IFTTT 可以将消息保存(或者追加)到指定文件。这时候本地就可以通过各种方式读取网盘文件并进一步处理了。

如果是最开始的需求,那么 IFTTT 直接将消息保存到 Obsidnan 仓库在 OneDrive 中的备份里就好,剩下的交给各种自动同步。

如果考虑到更复杂的情况,最好加一些流程对文件进一步处理。当然可以写脚本,但是 Windows 也有自动化工具啊,Automate。于是,就可以接力了。

那进一步处理不只限于文本处理,也可以触发其他动作……于是给 bot 发消息指挥自家电脑干活就可以实现了。当然这个方案有很大的缺陷,比如响应不及时,频率不能过高,有次数限制等等。但依然不失为一种有趣的思路。

然后自己搞 bot 接收消息固然有点麻烦(条件限制),但用 bot 发送消息却并不复杂,基本上就是请求一个网址。所以在任务完成后可以借助自己的 bot 来发送消息回馈任务完成结果。有点意思。

服务器成本现在可以很低了,N1一类的盒子80块钱,1年电费也才20块。
腾讯云一类的云服务器,天天特价也才60块钱。

发消息备份,我建议是复杂一点的消息直接截图,我iphone做了个截图后直接发送到邮箱的快捷指命,android上应该也可以。
文本消息的话,可以复制后再发送到邮箱。

1 个赞

你要不要尝试换个软路由、OpenWrt?

1 个赞

如果有动态的公网IP,直接连端口不好吗

1 个赞

要考虑使用场景的吧。
如果是为了快速记录,那完全没必要用聊天软件,只需要一个可以把任意内容保存为TXT或者md文件并且存储到obsidian库里面的软件就行了,用QQ有点多此一举。
如果是为了保存聊天记录的话,QQ应该是有将聊天记录利用邮箱发送的功能的。

我记得pc版微信 是有第三方机器人的. 可以从这个角度入手.

但是我记得前阵子封了一大批……不知道这玩意现在还是不是被允许