Code技术
【看门狗】基于 Cloudflare 的 TG 私聊机器人 Bot,提供 AI 驱动的垃圾信息过滤和消息转发功能
280
2025/11/17·发布 2025/11/17

最近也收到一些广告,自己用 AI 简单搓了个 TG 私聊 Bot,私聊信息会经过 AI 判定,如果是垃圾信息会转发到管理群组,提供详细的分析报告。

AI 只要是兼容 OpenAI API 都可以,我用的是 Deepseek,价格比较便宜。

Telegram Watchdog 项目地址


📋 项目介绍

  1. AI 垃圾信息检测:使用 LLM(大语言模型)自动识别和过滤垃圾信息、广告、诈骗等不良内容
  2. 管理员消息中继:自动将用户私聊消息转发给管理员,并支持管理员回复功能
  3. 实时监控:检测到垃圾信息时自动转发到管理群组,提供详细的分析报告

🛠️ 技术栈

  • Hono - 轻量级 Web 框架,专为 Cloudflare Workers 优化
  • Grammy - 现代化的 Telegram Bot 框架
  • OpenAI SDK - 用于调用 LLM API 进行垃圾信息检测
  • Cloudflare Workers - Serverless 计算平台
  • Cloudflare D1 - 边缘 SQLite 数据库
  • TypeScript - 类型安全的开发语言

环境变量

| 变量名 | 必需 | 说明 | 示例 |

|--------|------|------|------|

| DOMAIN | ✅ | Worker 部署域名 | https://bot.example.com |

| BOT_TOKEN | ✅ | Telegram Bot Token | 123456:ABC-DEF... |

| BOT_SECRET | ✅ | Webhook 验证密钥 | 任意随机字符串 |

| ADMIN_UID | ✅ | 管理员 Telegram 用户 ID | 123456789 |

| ADMIN_GID | ❌ | 管理群组 ID(用于垃圾信息警报) | -1001234567890 |

| LLM_API | ✅ | LLM API Base URL | https://api.openai.com/v1 |

| LLM_MODEL | ✅ | LLM 模型名称 | gpt-3.5-turbo |

| LLM_KEY | ✅ | LLM API Key | sk-... |

🚀 部署指南

前置准备

安装 Node.js 和 npm

Bash
1# 检查是否已安装
2
3node --version
4
5npm --version
6
7# 如未安装,请访问 https://nodejs.org/ 下载安装
8
9# 推荐使用 Node.js 18.x 或更高版本

步骤 1:克隆和安装依赖

Bash
1# 克隆项目(或下载源码)
2
3git clone <your-repo-url>
4
5cd telegram-watchdog
6
7# 安装项目依赖
8
9npm install

步骤 2:上传到 Workers

Bash
1# 部署到 Cloudflare Workers
2
3# 第一次运行会出现登录链接,浏览器打开后授权登录,再重新运行命令
4
5npm run deploy
6
7# 部署成功后,会输出 Worker 的 URL
8
9# 例如:https://telegram-watchdog.your-account.workers.dev

步骤 3:创建 Telegram Bot

  1. 在 Telegram 中找到 @BotFather
  2. 发送 /newbot 命令创建新 Bot
  3. 按提示设置 Bot 名称和用户名
  4. 保存 BotFather 返回的 Bot Token(格式如123456:ABC-DEF1234ghIkl-zyx57W2v1u123ew11)

步骤 4:获取 Telegram ID

  1. 获取管理员用户 ID:
    • 在 Telegram 中找到 @userinfobot
    • 发送任意消息,Bot 会返回你的用户 ID
  2. 获取管理群组 ID(可选):
    • 创建一个群组并将 Bot 添加进去
    • 在 Telegram 中找到 @getidsbot
    • 将 @getidsbot 添加到群组,它会显示群组 ID(负数,如-1001234567890)

步骤 5:创建 D1 数据库

  1. 在 Cloudflare 控制面板中,导航至 D1 SQL 数据库页面
  2. 选择“创建数据库”
  3. 数据库命名为 watchdog
  4. 点击创建

步骤 6:配置环境变量

  1. 在 Cloudflare 仪表板中,转到 Workers & Pages 页面
  2. 在“概览”中,选择您的 Worker
  3. 选择"设置"
  4. 在"变量和机密"下,选择"添加"
  5. 选择"密钥"类型,输入一个变量名,并输入其值

演示

send

group

最后更新 11月17日 20:39
TelegramBot

评论 (0)

还没有评论,来说点什么吧~