现代化 Telegram Bot 开发框架
基于 Node.js 和 TypeScript 构建,提供强大的插件系统和丰富的功能模块
|
🔄 动态插件加载 🏷️ 命令别名系统 🎯 多命令支持 👂 消息监听器 |
⚙️ 系统管理 🛡️ 权限控制 🌐 远程插件 💻 Shell 执行 🔍 信息查询 |
🔒 TypeScript 🚀 异步架构 🛠️ 错误处理 💾 内存优化 |
📁 点击展开项目结构
📦 TeleBox/
├── 🎯 src/ # 核心源代码
│ ├── 🚪 index.ts # 应用入口点
│ ├── 🔌 plugin/ # 内置插件目录
│ │ ├── 📖 help.ts # 帮助系统
│ │ ├── 📦 npm.ts # 插件管理器
│ │ ├── 🆔 id.ts # 信息查询
│ │ ├── 👑 sudo.ts # 权限管理
│ │ ├── 💻 exec.ts # Shell 执行
│ │ ├── 🏓 ping.ts # 网络测试
│ │ ├── 📊 sysinfo.ts # 系统信息
│ │ └── 🔧 ... # 其他内置插件
│ └── 🛠️ utils/ # 工具库
│ ├── ⚙️ pluginManager.ts # 插件管理核心
│ ├── 🔗 entityHelpers.ts # Telegram 实体处理
│ ├── 🔐 loginManager.ts # 登录管理
│ ├── 💬 conversation.ts # 对话管理
│ └── 🧰 ... # 其他工具
├── 🔌 plugins/ # 用户插件目录
├── 📁 assets/ # 静态资源
├── 💾 my_session/ # 会话文件
├── 📂 temp/ # 临时文件
├── ⚙️ package.json # 项目配置
├── 📝 tsconfig.json # TypeScript 配置
└── 📋 INSTALL.md # 安装文档
// 🎨 优雅的插件接口设计
interface Plugin {
command: string[]; // 🏷️ 命令列表
description?: string; // 📝 功能描述
cmdHandler: (msg: Api.Message) => Promise<void>; // ⚡ 命令处理器
listenMessageHandler?: (msg: Api.Message) => Promise<void>; // 👂 消息监听器
}|
🔤 多前缀支持 🧪 开发模式 🧠 智能解析 💬 错误处理 |
👑 sudo 系统 📋 用户白名单 🔒 安全执行 🔐 会话管理 |
| 🔌 插件 | ⌨️ 命令 | 📋 功能描述 |
|---|---|---|
| 📖 help | h, help, ? |
🎯 帮助系统和命令列表 |
| 📦 npm | npm |
🔧 插件管理器(安装/卸载/搜索) |
| 🆔 id | id |
🔍 获取用户/群组/频道详细信息 |
| 👑 sudo | sudo |
🛡️ 权限管理和用户授权 |
| 💻 exec | exec |
🔒 安全的 Shell 命令执行 |
| 🏓 ping | ping |
🌐 网络连接测试 |
| 📊 sysinfo | sysinfo |
📈 系统信息监控 |
| 🏷️ alias | alias |
🔄 命令别名管理 |
| 🔄 update | update |
⬆️ 系统更新管理 |
🎪 丰富的插件生态系统
🔍 查看可用插件 →
.tpm search
📥 安装插件 →.tpm i <插件名>
🗑️ 卸载插件 →.tpm rm <插件名>
📤 上传插件 →.tpm upload <插件名>
| 🏗️ 技术领域 | 🔧 技术选型 | 📊 版本 |
|---|---|---|
| 🚀 运行时 | Node.js | 20.x |
| 💎 开发语言 | TypeScript | 5.9.2 |
| 📡 Telegram 库 | GramJS | 2.26.22 |
| 💾 数据库 | better-sqlite3 | 12.2.0 |
| 💾 数据库 | lowdb | 7.0.1 |
| ⚡ 构建工具 | tsx + tsconfig-paths | latest |
| 🌐 HTTP 客户端 | axios | 1.11.0 |
| 🖼️ 图像处理 | sharp | 0.34.3 |
| 🧰 工具库 | lodash | 4.17.21 |
| ⏰ 任务调度 | cron | 4.3.3 |
|
🔍 信息查询 .help # 📖 查看所有命令
.help <命令> # 📝 查看特定命令帮助
.id # 🆔 获取当前聊天信息 |
🔧 插件管理 .tpm search # 🔍 查看远程插件列表
.tpm i <插件名> # 📥 安装插件
.sudo add <用户> # 👑 添加 sudo 权限 |
# 🚀 启动开发模式
NODE_ENV=development npm run dev💡 开发模式下使用 ! 和 ! 作为命令前缀