一、代码审计结论(2026-09-01)
| 检查项 | 结果 |
| 后门 / 恶意代码 | 未发现。全部源码共 4 个文件,无 eval、无 child_process、无隐蔽外传请求,网络通信仅走 Telegram 官方 API |
| 依赖包安全 | 仅 3 个直接依赖(telegraf / nedb-promises / dotenv),均为知名开源包,无 postinstall 安装脚本 |
| 数据安全 | 本地 NeDB 文件存储(data/posts.db、data/buttons.db),无远程上报 |
| ️ 卖家水印 | 已清除(原 createPost.js、menu.js 中两处 “优选源码yxymk.com”) |
| ️ Token 泄露风险 | .env 里带有一个真实 Bot Token。强烈建议去 @BotFather 发送 /revoke 重新生成 Token,旧的作废 |
需要了解的两个设计特性(非漏洞,但要知道)
- 任何 Telegram 用户都能用你的机器人创建帖子(无管理员白名单)。如果只想自己用,可以加白名单,见文末”进阶修改”。
- Inline 搜索是全局的:任何用户输入 6 位帖子码就能发你的机器人里任意帖子。这是”发帖分享”的产品设计,码是 6 位随机数字,不猜码就搜不到。
二、宝塔部署教程
准备工作
- 一台服务器(国内/国外均可;机器人只需访问 Telegram API,若服务器在国内需能连通 api.telegram.org,建议直接用香港/新加坡等境外服务器,省去代理麻烦)
- 宝塔面板已安装
- 已在 @BotFather 创建机器人并拿到 Token
第 1 步:安装 Node 环境
宝塔面板 → 软件商店 → 搜索 Node.js → 安装 Node.js 管理器(PM2),选择 Node 版本 18 或 20(Telegraf 4.x 要求 ≥ 16)。
第 2 步:上传项目
- 宝塔 → 文件 → 进入 /www/wwwroot/,新建目录如 tg-post-bot
- 把整个 68641 文件夹内容上传进去(不要上传 node_modules,服务器上重新安装更干净)
- 上传后目录结构应为:
第 3 步:配置 .env
编辑 .env,填入你自己的 Token:
第 4 步:安装依赖
宝塔 → 终端(或文件管理器里的终端),执行:
第 5 步:用 PM2 启动(推荐)
验证:pm2 logs tg-post-bot 看到 Bot @xxx is running! 即成功。
也可以用宝塔的 Node 项目功能(软件商店 Node 管理器里”添加项目”,启动文件选 index.js),效果一样,自带守护。
第 6 步:开放网络
- 机器人使用 Long Polling 拉取消息,不需要开放任何入站端口,也不需要域名、SSL、反向代理
- 唯一要求:服务器出方向能访问 api.telegram.org(443 端口)
- 国内服务器连不通的话,有两个方案:
- 方案 A(推荐):换境外服务器(香港轻量云最省事)
- 方案 B:给代码加代理。在 index.js 的 const bot = new Telegraf(token); 改为:
(需先 npm install https-proxy-agent)
日常运维命令
数据备份
所有帖子数据都在 /www/wwwroot/tg-post-bot/data/ 目录(2 个 db 文件),定期备份这个目录即可,迁移服务器时整个目录拷走就能恢复全部帖子。
三、使用说明
1. 开通机器人(一次性)
- Telegram 搜索 @BotFather → 发送 /newbot → 按提示起名,获得 Token
- 必须:发送 /setinline → 选中你的机器人 → 发送任意提示语(如”输入帖子码”)→ 开启 Inline 模式。不开这个,Inline 发送功能不可用
2. 创建帖子
- 在 Telegram 里打开你的机器人 → 发送 /start → 点 ️ 创建帖子
- 发送帖子内容,两种形式任选:
- 纯文字:支持 Telegram HTML 格式(<b>加粗</b>、<i>斜体</i>、<a href=”链接”>文字链接</a>、<code>代码</code>)
- 图片:直接发图,图配的说明文字会作为标题(也可不配文字)
- 点 添加按钮 → 输入按钮显示文字(如”点击购买”)→ 输入跳转链接(必须 http:// 或 https:// 开头)。可以连续加多个按钮,每个按钮独占一行
- 点 预览 查看实际效果,不满意可 清除所有按钮 重来
- 点 保存帖子 → 系统生成一个 6 位帖子码(如 482913)
3. 发送帖子(核心玩法)
在 任意聊天窗口(私聊、群、频道都可以)的输入框输入:
弹出匹配的帖子 → 点击 → 带按钮的帖子直接发到该对话。发到频道需要你先把机器人加为频道管理员(普通发送进群/私聊不需要任何权限)。
4. 管理帖子
/start → 我的帖子 → 点任意帖子,可:
- 预览:查看当前效果
- ️ 编辑:改正文 / 加按钮 / 清空按钮 / 再次预览
- 删除:二次确认后删除(按钮数据一并删除,不可恢复)
- 如何发送:直接显示这个帖子的 Inline 调用命令
每次保存的帖子码在”我的帖子”列表里也直接可见。
5. 实用技巧
- HTML 排版:正文写 <b>标题</b>\n\n内容… 可以做出层次感;\n 直接回车换行即可
- 多按钮引导:常见用法是”入口按钮 + 客服按钮”组合,一行一个很醒目
- 帖子码即取即用:把 6 位码发给需要的人,对方自己输 @机器人 码 就能取帖,适合做付费内容交付
- 图片帖子:图片用 file_id 引用,不占你服务器空间,也不会过期失效(Telegram 侧永久保存)
四、进阶修改(可选)
只允许自己创建帖子(管理员白名单):查到自己的 Telegram 数字 ID(给 @userinfobot 发消息),在 index.js 的 bot.use(session()); 之前加:
改完 pm2 restart tg-post-bot 生效。
![图片[1]-TG 内联帖子机器人源码 — 宝塔部署教程 & 使用说明-朝晞小屋](https://aliyun.zxiyun.com/images/2026/09/95187-tg-内联帖子机器人源码-—-宝塔部署教程-使用说明-CNmELl.jpg)
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END











暂无评论内容