n8n 实操攻略 16:如何发送长线程 X 推文

天天

发布于286天前
龙猫也是猫

前面两篇攻略,讲了 X 的配置和发送普通推文:

n8n 配置攻略 14:如何配置 X(原 Twitter)节点
n8n 实操攻略 15:如何自动化运营 X

https://appstore.lazycat.cloud/#/shop/detail/cloud.lazycat.app.n8n

有朋友问能不能发“长线程”推文,这篇攻略就来操作一下。

这里得先解释下,什么是“长线程”推文。

它是推特上特有的一种帖子,就是发了一个帖子之后,可以不停的给自己追加评论,于是就连起来是一个长线程,比如下面的这种效果:

image.png

先看一下工作流的流程图

image.png

工作流搭建

因为这个工作流,和上一篇的节点类似,所以直接复制上个工作流,粘贴过来,在这个基础上改就行了。

image.png

我提前准备好了 Google sheet,格式如图

image.png

先获取到 IsSend=0 的数据,执行一下

image.png

接下来增加一个 Edit fields 节点,我们筛选出推文的字段

image.png

排除这 3 个字段,输出效果是右侧这样

image.png

增加一个 Code 节点,处理成 json 格式的数据,参考代码:

// 获取输入的第一个项目的 JSON 数据
const obj = $input.first().json;

// 获取 obj 对象的所有值并转换为数组
const valuesArray = Object.values(obj);

// 将数组映射为包含 index 和 value 的对象数组
return valuesArray.map((v, i) => ({
  json: {
    index: i,
    value: v
  }
}));

效果如图:

image.png

增加一个循环处理的节点

image.png

准备回复推文

image.png

这里进入循环的逻辑,拿到上一个推文的 id 之后,直接回复这个 Id 的推文

image.png

中间为了防止 API 限制请求,我增加了等待 15s 的节点

image.png

最后发送完之后,将 Google sheet 里的对应行,改完已发送

image.png

这个工作流最核心的难点,是要正确实现推文的回复链:

1.每条推文必须正确引用前一条的 ID
Twitter API 的 inReplyToStatusId 参数格式要求严格
需要在循环中动态传递和更新推文 ID

2.SplitInBatches 节点的循环机制限制了数据访问
无法直接引用循环外已执行节点的数据
需要使用静态存储 ($getWorkflowStaticData) 来跨循环保存状态

最终的效果如图

image.png

以上就实现了自动发长线程推文的工作流。

评论

0

暂无评论

说点什么呢~
收藏
0
0
0