我的专属链接
{{ myLinks.expired ? "已到期" : "会员中 · " + fmtDay(myLinks.expireAt) + " 到期" }}
在「新建应用」上传 APK 做包,完成后这两个链接的内容自动换成新包,链接本身永远不变,发给别人即可。绑了像素后从这条链接安装的用户,装上 B 自动回传(事件 CompleteRegistration);像素先在「归因链接」页添加。
全部应用{{ stats.total }}
打包中{{ stats.running }}
已完成{{ stats.done }}
Telegram 任务{{ stats.jobs }}
| 应用 | 类型 | 状态 | 下载 | 次数 | 更新 | |
|---|---|---|---|---|---|---|
|
{{ row.name || "未命名" }}
#{{ row.id }} {{ row.remark || "" }}
|
{{ typeLabel(row.type) }} |
{{ statusLabel(row.taskStatus) }}
{{ row.status === 1 ? "自动打包" : "手动" }}
|
未生成 | {{ row.createNums || 0 }} / {{ row.downloadNum || 0 }} | {{ row.lastCreateTime || row.createTime || "—" }} |
还没有应用
上传 APK、填写网址,或把文件发到 Telegram 机器人。
{{ pageNo }} / {{ pages }}
机器人
{{ tgStatus.state }}
把 APK 或下载链接发给机器人,会按当前登录账号走壳方案做包。
打包账号:{{ tg.sessionUser || user.username || "当前登录账号" }} {{ tg.hasSession ? "(已绑定会话)" : "(保存后绑定)" }}
{{ tgError }}
机器人:{{ tg.botUsername }} · 在 Telegram 搜索后点 Start,发送 /id 可查看 Chat ID。
怎么用
- 在 BotFather 创建机器人,把 Token 填到左侧。
- 保存后给机器人发 /start。
- 发送 APK 文件 → 做包后回固定下载链接,包名每 10 分钟自动换。
- 发送 APK 下载链接 → 下载后同样做包回链接。
- 发送普通网址 → 按网址提交打包。
最近任务
还没有 Telegram 任务
{{ j.name || j.source }}
{{ j.status }}
{{ j.kind }} · {{ j.message }}
{{ j.time }} {{ j.appId ? '#' + j.appId : '' }}
用户总数{{ tgUsersSummary.total }}
当前会员{{ tgUsersSummary.vip }}
网页会员{{ tgUsersSummary.webTotal || 0 }}
今日打包{{ tgUsersSummary.todayPacks }}
已停用{{ tgUsersSummary.blocked }}
| 用户 | 套餐 | 今日 | 累计 | 状态 | 最后活跃 | |
|---|---|---|---|---|---|---|
|
TG {{ u.firstName || u.username || "—" }} 管理员
{{ u.tgId }}{{ u.username ? " @" + u.username : "" }}
{{ u.remark }}
|
{{ u.planName }}
{{ u.planExpired ? "已过期" : fmtDay(u.planExpireAt) + " 到期" }}
上限 {{ limitLabel(u.dailyLimit) }}
|
{{ u.todayUsed }} / {{ limitLabel(u.todayLimit) }} | {{ u.totalPacks || 0 }} | {{ u.status==='blocked' ? "已停用" : "正常" }} | {{ fmtDay(u.lastSeenAt) || "未活跃" }} |
|
|
网页 {{ m.account }}
登录后台做包 · #{{ m.id }}
|
{{ m.expired ? "已到期" : "会员中" }}
未开通
{{ m.expireAt ? fmtDay(m.expireAt) + " 到期" : "点编辑开通" }}
|
— | — | {{ m.status ? "正常" : "已停用" }} | {{ fmtTime(m.createTime) || "—" }} |
|
加载中…
还没有会员
TG 用户给机器人发过消息后会自动出现在这里;网页会员用「新增会员」创建,账号密码登录后台做包。
用户系统设置
{{ tgUserCfg.enabled ? "已启用" : "已关闭" }}
说明
- 用户首次给机器人发消息会自动注册为免费套餐;也可在「TG 用户」页点「新增会员」手动建档。
- 次数按「今天」统计,每天 0 点按所选时区重置。
- 给人单独设上限(-1 不限)会覆盖套餐默认值。
- 会员到期后自动降回免费套餐,无需手动处理。
- 机器人管理员可回复用户消息直接用 /grant 30、/revoke、/ban、/lookup、/stats。
待支付订单{{ usdtSummary.pending }}
今日已支付{{ usdtSummary.todayPaid }}
今日收入 USDT{{ usdtSummary.todayIncome }}
累计收入 USDT{{ usdtSummary.totalIncome }}
充值订单
| 用户 | 套餐 | 金额 | 状态 | 下单 / 到账 | 交易 | |
|---|---|---|---|---|---|---|
|
{{ o.displayName || "—" }}
{{ o.tgId }}
|
{{ o.pkgName }} +{{ o.days }} 天 |
{{ o.amount }} | {{ usdtOrderLabel(o.status) }} | {{ fmtTime(o.createdAt) }} {{ fmtTime(o.paidAt) }} |
{{ o.txId ? o.txId.slice(0, 8) + "…" : "—" }} |
还没有订单
用户在机器人发送 /buy 选择套餐后,订单会出现在这里。
链上入账
{{ usdtWatcher.lastError ? "上次查询出错:" + usdtWatcher.lastError : (usdtWatcher.lastPollAt ? "上次查询 " + fmtTime(usdtWatcher.lastPollAt) : "尚未查询") }}
| 时间 | 金额 | 来源 | 匹配 |
|---|---|---|---|
| {{ fmtTime(t.time) }} | {{ t.amount }} | {{ t.from ? t.from.slice(0, 8) + "…" : "—" }} | 订单 {{ t.matched }}未匹配 |
暂无入账记录(每 {{ usdtWatcher.pollSeconds || 15 }} 秒自动查询一次链上)
收款设置
{{ usdtCfg.enabled ? "已启用" : "未启用" }}
套餐
名称
天数
价格 USDT
{{ usdtError }}
说明
- 用户在机器人发送 /buy 选择套餐,系统生成「价格 + 随机分位」的唯一金额订单并给出收款地址和二维码。
- 系统每 {{ usdtWatcher.pollSeconds || 15 }} 秒查询一次链上(TronGrid),到账金额与订单完全一致即自动开通会员,并通知用户和管理员。
- 金额必须精确到 0.01 USDT;多付/少付的转账会出现在「链上入账 · 未匹配」,需人工核实后用「会员」按钮补开。
- 收款地址请用只有你能控制的钱包地址;私钥永远不要交给任何程序。
今日下载{{ psSummary.todayDl || 0 }}
累计 {{ psSummary.totalDl || 0 }}
今日 A 包安装{{ psSummary.todayAOpen || 0 }}
累计 {{ psSummary.totalAOpen || 0 }}
今日 B 包安装{{ psSummary.todayBInst || 0 }}
累计 {{ psSummary.totalBInst || 0 }}
今日转化率 (A→B){{ psConv(psSummary.convToday) }}
累计 {{ psConv(psSummary.convTotal) }}
推广员安装统计
| 推广员 | 渠道数 | 下载 今/总 | A包安装 今/总 | B包安装 今/总 | A→B | 最近事件 | ||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
▸
{{ p.name || "—" }} @{{ p.username }}
{{ p.tgId }}
|
{{ (p.channels || []).length }} | {{ p.dlToday || 0 }} / {{ p.dlTotal || 0 }} | {{ p.aOpenToday || 0 }} / {{ p.aOpenTotal || 0 }} | {{ p.bInstToday || 0 }} / {{ p.bInstTotal || 0 }} | {{ psConv(p.convTotal) }} | {{ fmtTime(p.lastEventAt) || "—" }} | ||||||
|
名下暂无渠道明细
|
还没有推广数据
机器人用户发 /me 可拿到专属下载链,安装后数据自动出现在这里。
每日趋势(近 14 天)
{{ (d.day || "").slice(5) }}
暂无趋势数据
安装记录明细
已加载 {{ psEvents.length }} / 共 {{ psEventsTotal }} 条
至
| 时间 | 事件 | 推广员 | 渠道 | 设备 | 机型 | IP |
|---|---|---|---|---|---|---|
| {{ fmtTime(e.time) }} | {{ psTypeLabel(e.type) }} |
{{ e.promoterName || "—" }}
{{ e.tgId || "" }}
|
{{ e.chName || e.ch || "—" }} | {{ e.deviceUid ? e.deviceUid.slice(0, 8) : "—" }} |
{{ e.model || "—" }}
{{ e.pkg }}
|
{{ e.ip || "—" }} |
暂无安装记录
像素 = 广告平台回传凭证;链接的转化事件命中时自动回传(Meta / TikTok)
| 名称 | 平台 | Pixel ID | 归属 | 状态 | |
|---|---|---|---|---|---|
| {{ p.name }} | {{ p.platform }} | {{ p.pixelId || p.webhook || "—" }} | {{ ownerLabel(p.ownerTgId) }} | {{ p.enabled ? "启用" : "停用" }} |
还没有像素,先添加一个(填错没关系,随时能改)
广告投放挂 /r/ 链接;点击 → A 打开 → B 装上 自动归因,TG 里也可 /track 创建
| 名称 | 发包 | 像素 | 点击 | A 打开 | B 装上 | 链接 | |
|---|---|---|---|---|---|---|---|
| {{ t.name }} | {{ t.target === "b" ? "B 包" : "A 包" }} | {{ t.pixelName || "—" }} | {{ t.clicks }} | {{ t.opens }} | {{ t.installs }} |
还没有归因链接
启用中的阿里云会接飞机分发:固定对象名 app.apk,轮换覆盖同一条下载地址
| 名称 | 类型 | 状态 | 时间 | |
|---|---|---|---|---|
| {{ o.ossName }} | {{ o.type }} | {{ o.status ? "启用" : "禁用" }} | {{ o.createTime }} |
还没有云存储