📌 系统概览
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连接池优化数据库连接管理
定时任务统一调度,避免资源竞争
推送任务异步处理,提高并发能力

Logo

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

更多推荐