
## URL短链接生成器与重定向工作流
### 工作流概述
这是一个基于n8n平台的URL短链接生成和管理系统,通过Telegram机器人交互实现短链接的创建和重定向功能。工作流包含两个主要部分:短链接生成工作流和URL重定向处理工作流。
### 工作流1:创建短链接
#### I. 主消息与回复检测
– **Telegram Trigger**:接收所有Telegram消息
– **Is it Reply? (IF)**:检查消息是否为回复消息
– True:回复消息(→ Code)
– False:初始消息(→ Clean Data)
#### II. 路径:初始消息(长URL)
– **Clean Data (Function)**:提取并验证长URL
– **Reply Data (Set)**:存储URL和聊天上下文用于工作流
– **Exist? (MongoDB – Find)**:检查长URL/短代码是否已存在
– **exist? (Set)**:标记链接是否存在(true/false)
– **no exist? (IF)**:根据链接存在性进行路由
– True:链接存在(→ askShortCode1)
– False:新链接(→ Data)
#### III. 路径:现有链接/请求自定义代码
– **askShortCode1 (Telegram Send Message)**:通知链接已存在,请求自定义代码(强制回复)
#### IV. 路径:自定义代码提交与验证
– **Code (Function)**:验证自定义短代码格式
– **Not Valid? (IF)**:检查自定义代码格式有效性
– True:无效格式(→ Not Valid)
– False:有效格式(→ 连接到Exist?进行存在性检查)
– **Not Valid (Telegram Send Message)**:错误:无效代码格式
#### V. 路径:创建新链接(如果唯一)
– **Data (Set)**:准备最终链接数据用于数据库插入
– **Insert shortCode (MongoDB – Insert)**:插入新的长/短URL对
– **New link (Telegram Send Message)**:向用户发送新的短链接
### 工作流2:URL重定向处理
– **Webhook (Webhook Trigger)**:从Web服务器接收短链接请求
– **Data2 (Set)**:从webhook URL中提取短代码
– **Exist?2 (MongoDB – Find)**:查找给定短代码对应的原始长URL
– **Exist?3 (Set)**:提取找到的长URL
– **if (IF)**:检查是否找到长URL
– True:URL找到(→ Valid URL)
– False:URL未找到(→ Not valid URL)
– **Valid URL (Respond to Webhook)**:重定向到原始长URL(HTTP 302)
– **Not valid URL (Respond to Webhook)**:发送404未找到响应
### 技术特点
– **智能URL检测**:使用正则表达式自动识别消息中的URL
– **自定义短代码支持**:允许用户指定自定义短代码
– **重复检测**:防止短代码冲突
– **实时交互**:通过Telegram机器人提供即时反馈
– **数据库集成**:使用MongoDB存储URL映射关系
– **错误处理**:完善的错误处理和用户提示机制
### 应用场景
– 个人URL管理
– 社交媒体链接优化
– 营销活动跟踪
– 内部链接管理
– 移动设备友好链接生成

评论(0)