前言
随着 Telegram 群组规模不断扩大,群内广告、垃圾消息、恶意刷屏等问题也越来越常见。作为群主或管理员,手动处理这些内容不仅耗费时间,还容易遗漏,影响群内正常交流氛围。
虽然目前市面上已经有不少免费的 Telegram 群管理机器人,但为了满足个性化需求,同时也想体验一下当下非常流行的 Vibe Coding 开发方式,我借助 AI 辅助完成了这款 Telegram 群管理工具的开发。
该工具专注于群组自动化管理,能够帮助管理员自动识别广告消息、处理违规用户、维护群聊秩序,从而大幅降低日常管理成本。整个项目支持 Docker 一键部署,可以运行在 VPS 上,都能够快速搭建属于自己的群管理机器人。
你有什么新需求,还可以让AI给你添加新功能
如果你也正在为 Telegram 群广告泛滥而头疼,或者想体验 AI 辅助开发带来的高效开发流程,不妨跟着本教程一起部署体验。
项目图示
仪表盘

违规记录

违禁词管理

自动回复

系统设置

✨ 功能特性
- 🛡️ 入群验证 — 新成员入群时自动发送数学验证题,答对才能解除禁言
- 🚫 垃圾信息拦截 — 自动检测并删除广告、引流、博彩、色情等违规内容
- 📊 管理统计 — 查看验证通过人数、违规拦截次数、验证超时次数
- 📝 违禁词在线管理 — Web 后台实时添加/删除/启用/禁用违禁词,即时生效无需重启
- ⚡ 轻量部署 — 基于 Python + SQLite,docker单容器即可运行
- ✏️ 关键词自动回复 — 可以自定义设置关键词,自动回复群消息
部署方法
使用Docker安装
本教程使用docker的方式安装部署,简单便捷

本项目docker镜像支持X86与ARM双平台部署

docker镜像地址
准备条件
1)一台服务器
我们使用莱卡云VPS来演示
由于网络的原因VPS需要选择香港或者其他境外VPS
需要vps的可以看以下信息配置,可以参考以下资源占用情况
莱卡云官网
本期docker容器占用资源情况如下仅供参考不到100M

2)本教程使用到的项目
本教程使用的官方github地址
https://github.com/yyzq-cf/tg-group-guard
3)提前获取环境变量
- 获取 Bot Token
在 @BotFather 创建机器人,获取 BOT_TOKEN。

- 获取你的 Telegram 数字 ID:@userinfobot

获取以上信息后面要用
4)域名(可选)
根据自己的需求,web管理界面建议绑定域名
VPS部署
一、Docker环境部署
在vps安装docker和docker-compose
Docker官方安装文档(英文)
https://duan.yyzq.eu.org/docker-001
Docker-Compose官方安装文档(英文)
https://duan.yyzq.eu.org/docker-002
Centos安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//03
Ubuntu安装Docker和Docker-compose(中文)
https://duan.yyzq.eu.org//04
推荐直接用一键脚本
docker安装脚本
bash <(curl -sSL https://cdn.jsdelivr.net/gh/SuperManito/LinuxMirrors@main/DockerInstallation.sh)
docker-compose安装脚本
curl -L "https://github.com/docker/compose/releases/latest/download/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/docker-compose && chmod +x /usr/local/bin/docker-compose
二、部署命令
登录服务器使用root账户执行以下步骤
docker-compose命令
创建一个目录,并进入此目录
mkdir tg-group-guard ;cd tg-group-guard
然后再新建docker-compose.yml
vim docker-compose.yml
services: # 定义服务
bot: # 服务名称为 bot
image: ywsj/tg-group-guard:latest # 使用你上传到 Docker Hub 的镜像
container_name: tg-group-guard # 容器名称
restart: always # 容器重启策略,总是重启
ports: # 映射端口
- "8080:8080" # 将宿主机的 8080 端口映射到容器的 8080 端口
volumes: # 挂载数据卷
- ./data:/data # 将当前目录下的 data 文件夹挂载到容器的 /data
environment: # 定义环境变量
BOT_TOKEN: "6312971882:AQH6il-ZqeweKizFw7nBqFn18rZyktz1uAI" # 机器人 Token
ADMIN_IDS: "4217389135" # 管理员 Telegram ID,可以用逗号分隔多个
VERIFY_TIMEOUT: "60" # 新成员验证超时时间,单位秒
MAX_WARNINGS: "3" # 最大警告次数
MUTE_DURATION: "300" # 警告后禁言时长,单位秒
DB_PATH: "/data/bot.db" # 数据库存放路径
ADMIN_PASSWORD: "admin" # 管理员密码
注意端口如有冲突自行修改,只要修改自己的 BOT_TOKEN
还有ADMIN_IDS
三、执行容器运行命令
docker-compose up -d #运行容器
docker-compose ps #查看是否启动成功
正常启动如下所示
docker-compose ps
NAME IMAGE COMMAND SERVICE CREATED STATUS PORTS
tg-group-guard ywsj/tg-group-guard:latest "python -m app" bot 13 days ago Up 13 days 0.0.0.0:8080->8080/tcp, [::]:8080->8080/tcp
四、web界面
打开web页面使用
成功以后需要打开自己相应的端口8080)防火墙就可以web端访问了
主界面
http://ip:8080

使用密码登录之后就可以正常使用了
注意:
将机器人加入群组,并设置为管理员,权限需要:
删除消息
限制用户
封禁用户
通过邀请链接加入的用户(用于读取入群事件)
常用权限都打开即可

绑定域名
VPS上的建议绑定下域名,方便管理。
绑定域名的教程参考以下内容
绑定域名视频教程
B站
YouTube
绑定域名可以参考
NginxProxyManager
https://duan.yyzq.eu.org//npm-ch
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
有任何问题可以直接留言或者问我
欢迎关注我们的微信公众号!


评论区