Telegram机器人管理系统TG机器人TG索引TG群管Telegram索引Telegram群管
├── common/# 通用工具和helpers。├── webhook/# Webhook模式支持。│└── service/# 业务服务接口和实现。│├── common/# 通用枚举和常量。├── api/# API接口定义。
📌 系统概览
YMPT Bot是一套专业级Telegram机器人管理系统,采用前后端分离架构,基于SpringBoot 3.4.2和Vue 3.5.13开发。系统为Telegram社群管理者提供全方位的管理解决方案,核心功能包括多机器人配置管理、定时与手动消息推送、违规内容智能审核、用户行为管理、自定义交互键盘以及欢迎消息模板等。
该系统支持轮询和Webhook两种运行模式,可灵活配置机器人参数并实现热加载。通过Redis缓存和Druid连接池优化性能,使用JWT和BCrypt保障系统安全。系统内置多种违规处理策略,支持自动警告、删除消息、禁言和踢出用户等操作,并详细记录违规日志。
YMPT Bot适用于企业社群营销、教育培训社区和兴趣爱好群组等多种场景,能有效提升社群运营效率,减轻管理员工作负担,维护社群良好秩序。系统界面友好,操作简便,是现代化Telegram社群管理的理想选择。
👁 演示
演示频道:@ymptpd
演示群组:@ymptqz
演示机器人:@ymptbot
✨ 核心功能
🤖 机器人配置管理
🔧 灵活的机器人设置
多机器人配置支持,一套系统管理多个Bot
自定义机器人用户名、名称、描述和介绍
一键切换当前使用的机器人
配置热加载,无需重启即可生效
自定义机器人头像和命令菜单
支持轮询和Webhook运行模式
📣 索引系统与推送系统
📢 智能化消息推送
支持定时推送和手动推送两种方式
推送模板管理,一次创建多次使用
多群组同时推送,提高工作效率
推送日志记录,轻松追踪发送状态
支持富文本内容,包括图片、链接和格式化文本
⌨️ 自定义软键盘
🎮 交互体验升级
自定义按钮文本和排序
支持命令触发和链接跳转两种类型
分类管理,构建层级菜单
一键启用/禁用特定按钮
通过后台可视化配置,无需代码知识
🛡️ 违规词汇管理
🔍 智能内容监控
自定义违禁词库,自动检测违规内容
灵活的处罚策略,支持警告、禁言和踢出等多级处罚
用户违规记录管理,累计违规自动升级处罚
违规日志详细记录,便于追溯和分析
支持正则表达式匹配,提高检测精准度
👋 欢迎消息模板
🎉 温馨的新成员迎接
自定义欢迎消息内容和格式
支持变量替换,如用户名、群组名等
群组专属欢迎语,彰显群组特色
支持图文混合的欢迎消息
带有引导按钮,帮助新成员快速了解群规
👤 用户管理系统
👥 完善的用户体系
管理员权限分级,细化操作权限
JWT认证保障系统安全
用户行为跟踪,精准分析群组活跃度
黑名单管理,有效防止问题用户
用户数据统计,掌握群组发展趋势
🔧 技术架构
后端架构
基础框架:Spring Boot 3.4.2
数据持久层:MyBatis-Plus 3.5.11
数据库:MySQL 8.0.30
缓存:Redis
连接池:Druid 1.2.24
API文档:Knife4j 4.6.0
Telegram API:Telegrambots 6.9.7.1
安全认证:JWT + BCrypt
工具库:Hutool、FastJSON2、Apache Commons
前端架构
基础框架:Vue 3.5.13
UI组件库:Element Plus 2.9.7
状态管理:Pinia 3.0.1
路由:Vue Router 4
HTTP客户端:Axios 1.8.4
富文本编辑:Quill 2.0.3
打包工具:Vite 6.2.0
💼 系统架构详解
后端模块结构
src/main/java/com/geordie/telegram/bot/
├── YmptBotApplication.java # 应用程序入口
├── BotInitializer.java # 机器人初始化器
├── webhook/ # Webhook模式支持
└── ympt/ # 核心业务模块
├── YmptBot.java # 机器人主类
├── business/ # 业务逻辑层
│ ├── common/ # 通用枚举和常量
│ └── service/ # 业务服务接口和实现
├── common/ # 通用工具和helpers
├── config/ # 系统配置类
├── controller/ # 接口控制器
├── database/ # 数据库相关
│ ├── domain/ # 实体类
│ ├── mapper/ # MyBatis映射器
│ └── service/ # 数据库服务层
├── other/ # 其他功能模块
└── service/ # 系统服务层
前端模块结构
web/src/
├── main.ts # 应用入口
├── App.vue # 根组件
├── api/ # API接口定义
├── assets/ # 静态资源
├── components/ # 公共组件
├── layout/ # 布局组件
├── router/ # 路由配置
├── store/ # 状态管理
├── styles/ # 全局样式
├── types/ # 类型定义
├── utils/ # 工具函数
└── views/ # 页面视图
├── announcement/ # 公告管理
├── bot-config/ # 机器人配置
├── botMenu/ # 机器人菜单
├── dashboard/ # 仪表盘
├── error/ # 错误页面
├── forbidden-word/ # 违禁词管理
├── keyboard/ # 自定义键盘
├── login/ # 登录页面
├── managed-chat/ # 群组管理
├── message-template/ # 消息模板
├── push/ # 消息推送
├── user/ # 用户管理
├── user-violation/ # 用户违规
├── variable/ # 变量管理
├── violation/ # 违规管理
├── violation-log/ # 违规日志
├── violation-strategy/ # 违规策略
└── welcome-template/ # 欢迎模板
🚀 系统运行流程
初始化阶段:
系统启动时,加载配置文件和数据库配置
BotInitializer根据配置选择适当的启动模式(轮询或Webhook)
初始化机器人实例,设置命令菜单和基本参数
消息处理流程:
接收Telegram更新(Update对象)
根据更新类型分发到相应的处理器:
文本消息 → TextMessageHandler
回调查询 → CallbackQueryHandler
内联查询 → InlineQueryHandler
处理器执行相应的业务逻辑,如回复消息、执行命令等
内容审核流程:
收到新消息时,MessageModeratorService自动检查内容
匹配违禁词库中的关键词和正则表达式
根据匹配结果调用ViolationStrategyService执行相应处罚
通过ViolationLogService记录违规信息
消息推送流程:
用户通过前端创建推送任务
PushService接收任务并调用TelegramAnnouncementService
根据目标配置,系统向指定群组发送消息
实时记录推送状态和结果
🔍 关键服务和功能
核心服务组件
BotConfigService:管理机器人配置,支持多机器人切换
KeyboardService:处理自定义软键盘的创建和交互
MessageModeratorService:负责消息审核和违规处理
BotMessageService:处理消息发送和接收
WelcomeService:管理欢迎消息模板和欢迎新成员
PushService:处理消息推送和定时任务
UserViolationService:管理用户违规记录
ForbiddenWordService:管理违禁词库和匹配规则
安全与认证
采用JWT(JSON Web Token)认证机制保障API安全
使用BCrypt算法加密敏感信息
权限分级控制,确保不同角色有适当的操作权限
请求参数校验,防止非法数据和注入攻击
性能优化
Redis缓存减轻数据库负担,提高响应速度
Druid连接池优化数据库连接管理
定时任务统一调度,避免资源竞争
推送任务异步处理,提高并发能力

DAMO开发者矩阵,由阿里巴巴达摩院和中国互联网协会联合发起,致力于探讨最前沿的技术趋势与应用成果,搭建高质量的交流与分享平台,推动技术创新与产业应用链接,围绕“人工智能与新型计算”构建开放共享的开发者生态。
更多推荐
所有评论(0)