本文摘要:
文章提供 TG 内联帖子机器人源码的安全审计、宝塔部署与使用说明:源码仅 4 个文件、依赖 3 个开源包,数据本地存储且通信使用 Telegram 官方 API;教程涵盖 Node.js、PM2、环境变量和网络配置,并介绍创建、编辑、分享帖子及 6 位帖子码,同时提醒重置 Token、配置管理员白名单和备份数据库。
— 本文部分摘要灵感源自 DeepSeek 深度思考 ✨
一、代码审计结论(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>) - 图片:直接发图,图配的说明文字会作为标题(也可不配文字)
- 纯文字:支持 Telegram HTML 格式(
- 点 ➕ 添加按钮 → 输入按钮显示文字(如”点击购买”)→ 输入跳转链接(必须 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://busi.net/wp-content/uploads/2026/09/20260905101524870-image.png)
本站文章部分内容可能来源于网络,仅供大家学习参考,如有侵权,请联系站长📧ommind@qq.com进行删除处理!
THE END





