Code技术
Telegram 防骚扰双向聊天机器人 - AI 驱动 开源免费
280
2025/11/16·发布 2025/11/16

🛡️ Telegram 防骚扰双向聊天机器人 - AI 驱动 开源免费

一个功能强大且易于部署的 Telegram 双向聊天机器人。

如果你正在寻找一个方案来管理用户沟通、同时有效防止机器人骚扰,那么这个项目可能正是你需要的!


项目亮点

  • 🤖 AI 智能过滤: 集成 Google Gemini,自动识别垃圾信息和恶意内容。
  • 🛡️ 人机验证: 新用户必须通过 AI 生成的验证问题,彻底告别机器人骚扰。
  • 💬 独立话题沟通: 每个用户都在独立的 Telegram 话题 (Forum) 中进行对话,管理一目了然。
  • 自助解封: 用户被拉黑后,可以通过回答 AI 问题来自助解封,减轻管理员负担。
  • 🖼️ 多媒体支持: 完美转发图片、视频、文件,并保留 Markdown 格式。
  • 高性能:异步架构,轻松应对大量消息,不卡顿。

🚀 快速部署

部署超级简单,只需要两步:

1. 创建并编辑配置文件 .env

在一个空目录中创建一个 .env 文件,填入你的 Bot Token 等信息。

Environment
1# --- 必需配置 ---
2
3# Telegram Bot配置
4# 从 @BotFather 获取您的 Bot Token
5BOT_TOKEN=your_bot_token_here
6
7# 您的Telegram话题群组ID
8# 将机器人设为群组管理员后,在群组里发送 /getid ,机器人会自动回复群组ID
9FORUM_GROUP_ID=-1001234567890
10
11# 管理员ID(您的Telegram用户ID),多个ID用逗号分隔
12ADMIN_IDS=123456789,987654321
13
14# --- 可选配置 ---
15
16# Gemini API配置 (如果您需要使用AI相关功能)
17# 从 Google AI Studio 获取
18GEMINI_API_KEY=your_gemini_api_key_here
19
20# 是否启用AI自动识别垃圾信息和恶意内容
21ENABLE_AI_FILTER=true
22
23# AI判断的置信度阈值(0-100),高于此值才会被认为是恶意内容
24AI_CONFIDENCE_THRESHOLD=70
25
26# --- 功能开关 ---
27
28# 是否启用新用户人机验证
29VERIFICATION_ENABLED=true
30
31# 是否启用黑名单用户自动解封机制
32AUTO_UNBLOCK_ENABLED=true
33
34# --- 数据库配置 ---
35# 容器内路径,通常不需要修改
36DATABASE_PATH=./data/bot.db
37
38# --- 性能配置 ---
39
40# 消息队列处理的worker数量
41MAX_WORKERS=5
42
43# 队列中消息的超时时间(秒)
44QUEUE_TIMEOUT=30
45
46# --- 验证配置 ---
47
48# 人机验证的超时时间(秒)
49VERIFICATION_TIMEOUT=300
50
51# 用户最大尝试验证次数
52MAX_VERIFICATION_ATTEMPTS=3
53
54# --- 速率限制 ---
55# 通常不需要修改
56
57# Bot每秒最大处理消息数
58MAX_MESSAGES_PER_SECOND=30
59
60# Bot每分钟在群组中最大发送消息数
61MAX_GROUP_MESSAGES_PER_MINUTE=20

2. 一行命令启动

Bash
1docker run -d \
2  --name tg-antiharassment-bot \
3  -v $(pwd)/.env:/app/.env \
4  -v $(pwd)/data:/app/data \
5  --restart unless-stopped \
6  weijiaqaq/tg-antiharassment-bot:latest

搞定!你的机器人现在已经在线运行了。


📖 使用指南

🔑 获取必要信息

  1. Bot Token: 在 Telegram 中与 @BotFather 对话,使用 /newbot 命令创建机器人即可获得。
  2. 话题群组 ID: 创建一个超级群组 (Supergroup),在设置中启用“话题”(Topics) 功能。然后将您的机器人添加为该群组的管理员。在群组中发送/getid,机器人会自动回复包含群组 ID 的信息。
  3. Gemini API 密钥 (可选): 访问 Google AI Studio 创建并复制您的 API 密钥。

📜 命令列表

用户命令

  • /start - 启动机器人,显示欢迎信息。
  • /getid - 显示当前用户/群组ID。
  • /help - 显示帮助信息。

管理员命令

  • /block - 对应话题直接发送永久拉黑用户。
  • /blacklist - 查看当前的黑名单列表。
  • /stats - 查看机器人运行统计信息。

🔗 项目链接

项目完全开源,欢迎大家试用、提建议或者贡献代码!

最后更新 11月16日 11:26
机器人防骚扰聊天双向python

评论 (0)

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