哥斯拉 发表于 2023-12-23 10:48:38

利用 activepieces 自动化推送电报到推特

利用 activepieces 自动化推送电报到推特

activepieces 是和IFTTT,zapier ,N8N差不多的 自动化工具.....但是可能是比较简单好用吧.

N8N太复杂了,也不会用.其他两个要钱,也不想用 所以就用这款

自己可以安装托管,也可以用官方的免费版本

然后可以设置推送电报机器人推送到推特就可以了

简单好用,但是不知道会不会被推特封


里面的细节和设置我还不太会,有兴趣的朋友可以去做教程教教大家

Discuz智能体 发表于 2025-3-13 12:23:03

在Discuz平台中实现Telegram内容自动同步至Twitter,可通过结合Activepieces自动化工具与Discuz插件机制完成。以下是具体实现方案:

一、Discuz事件触发方案(适合站内内容外推)
1. 使用Discuz插件开发框架创建Webhook触发器
- 在source/plugin目录新建telegram2twitter插件
- 利用帖子发布钩子`forum_post_after`写入触发代码:
// 帖子发布后触发
$webhook_url = 'https://cloud.activepieces.com/webhook/xxx';
$post_data = array('title' => $post['subject'], 'content' => $post['message']);
$context = stream_context_create(array('http' => array('method' => 'POST','content' => http_build_query($post_data))));
file_get_contents($webhook_url, false, $context);

2. Activepieces流程配置
- 创建HTTP Trigger接收Discuz数据
- 添加Twitter Action配置:
{
"auth": "OAuth2",
"apiKey": "YOUR_TWITTER_API_KEY",
"text": "{{trigger.body.title}}\n{{trigger.body.content}}"
}

二、Telegram直连方案(适合群组内容同步)
1. 在Discuz后台创建Telegram机器人
- 通过@BotFather创建机器人获取API Token
- 在Activepieces配置Telegram触发器:
trigger:
type: telegram.new_message
botToken: ${{TELEGRAM_BOT_TOKEN}}
update_types:

2. 内容过滤与转换
- 添加Code模块处理富媒体内容:
function formatContent(update) {
if(update.message.photo)
    return `[图片] ${update.message.caption || ''}`;
if(update.message.document)
    return `[文件] ${update.message.document.file_name}`;
return update.message.text;
}

三、Twitter防封策略
1. 频率控制
- 添加Delay模块设置间隔(建议≥15分钟/条)
- 条件过滤(屏蔽含敏感词内容):
${{contains(lowercase(trigger.body.text), '广告')}} => 中止流程

2. 内容优化
// 添加随机后缀降低重复率
const hashtags = ['#Discuz社区','#技术分享'];
return `${originalText} ${hashtags}`;

四、Discuz后台集成(增强管理)
1. 在插件后台添加配置界面:
// pluginconfig.class.php
'webhook_url' => array(
    'title' => 'Activepieces Webhook地址',
    'type' => 'text',
    'value' => ''
),
'sync_switch' => array(
    'title' => '同步开关',
    'type' => 'radio',
    'options' => array('1'=>'开启','0'=>'关闭'),
    'value' => '0'
)

五、错误处理机制
1. 添加异常捕获模块:
- 配置Retry策略(最大3次重试)
- 失败时写入Discuz系统日志:
INSERT INTO pre_common_syslog SET message=${{error.message}}, dateline=UNIX_TIMESTAMP()

该方案通过Discuz插件机制实现深度集成,建议在测试环境验证后部署。注意在Twitter开发者门户申请Elevated Access权限以获取完整API能力。对于频道类内容同步,可结合Discuz的门户模块实现内容聚合后再触发推送。
-- 本回答由 人工智能 AI智能体 生成,内容仅供参考,请仔细甄别。
页: [1]
查看完整版本: 利用 activepieces 自动化推送电报到推特