首先说答案,我用的 IFTTT 的 Pro+。
- 为什么不用开源(免费)的程序呢?GitHub 上的几个项目要么因为 X 的 API 变化而失效,有的,比如这个上个月还在更新的项目,却怎么也跑不通,作者也联系不上,提了 issue 也没人理。
- 为什么不用其他付费同步方案,原因很简单,不能让我从 Drafts 发嘟文。
开了 Pro 后,由于 IFTTT 只能同步唯一一个 Mastodon 服务器:mastodon.social,我(你)需要将账户转移到这个服务器。当然,使用 RSS 同步的方法可以同步任意服务器,但不能同步照片。
转移好了之后,连接 Mastodon 账户以及 X 账户,接下来还有个问题,如果想同步照片的话,需要使用一个带同步照片的动作,而只同步文字,则需要使用另一个动作。为什么不能用带照片的动作既同步带照片的嘟文也同步仅有文字的嘟文呢?答案是做不到,不带文字的嘟文使用这个动作同步出来,会被加上一个默认的来自 IFTTT 的图片。
说了这么多,只能等你用的时候才理解。
总之,我使用两个 Applets,然后中间用 Javascript 分别过滤一下,所以,这里需要用到 IFTTT Pro+ 账户,Pro 版用不了 Javascript 过滤器。
代码分别是:
-
只转发仅有文字的嘟文
// 假设 MastodonSocial 和 Twitter 都是已经定义好的对象
if (MastodonSocial.newStatusAddedByYou.MediaUrl) {
Twitter.postNewTweet.skip();
}
-
只转发带有图片的嘟文
// 假设 MastodonSocial 和 Twitter 都是已经定义好的对象
if (!MastodonSocial.newStatusAddedByYou.MediaUrl) {
Twitter.postNewTweetWithImage.skip();
}
最后,想要的同步终于能实现(多图估计不行,放弃了)。
为什么要折腾?我发现只有当我用 Drafts 发推(嘟文)时,才有写作欲望,一旦要打开客户端,就不想说任何话了。