📊 仪表盘
系统概览
{{ accounts.length }}
Telegram 账号
在线 {{ onlineAccounts }} · 代理 {{ goodProxyCount }}
{{ groups.length }}
群组 / 频道
群组 {{ groupCount }} · 频道 {{ channelCount }}
{{ runningTaskCount }}
运行中任务
共 {{ tasks.length }} 个任务
{{ todaySentCount }}
今日发送
今日失败 {{ todayFailCount }}
24 小时发送趋势
账号健康
在线账号{{ onlineAccounts }}
离线账号{{ accounts.length - onlineAccounts }}
配置代理{{ goodProxyCount }}
启用任务{{ tasks.filter(t=>t.enabled).length }}
快捷操作
立即发送
选择账号和群组,把消息送出去
1 选择账号(可多选)
已选 {{ sendForm.phones.length }} 个账号
2 选择目标群组
请先选择账号
这些账号没有可发的群
已选 {{ sendForm.group_ids.length }} 个
3 消息内容
4 群组间延迟(秒)
发送完成 · 成功 {{ sendResult.success }} / 共 {{ sendResult.total }}
✓ 群 {{ d.group_id }} ← {{ d.account_phone || '-' }}
✗ 群 {{ d.group_id }}:{{ d.message }}
消息模板
多套文案轮换使用
| 模板名称 | 内容预览 | 素材 | 操作 |
|---|---|---|---|
| {{ t.name }} | {{ t.content.length>60?t.content.slice(0,60)+'…':t.content }} | {{ t.media_type }}— | |
| 暂无模板 | |||
定时任务
每隔 N 秒循环发一轮,到达设定时长自动停止
| 任务名称 | 状态 | 账号 | 轮次 | 间隔 | 剩余 | 群/模板 | 操作 |
|---|---|---|---|---|---|---|---|
| {{ t.name }} 模板{{ t.rotate_mode==='random'?'随机':'顺序' }} |
{{ statusText(t.status) }} | {{ t.accounts_display }} | {{ t.current_round || 0 }} 轮 |
{{ fmtInterval(t.interval_seconds) }}
连续模式
群间隔 {{ t.group_gap_seconds }}~{{ t.group_gap_max }}s
|
{{ fmtRemaining(t) }} | {{ t.group_ids.length }}群 / {{ t.template_ids.length }}模板 | |
| 暂无任务 | |||||||
任务进度
实时查看每个任务发到哪些群
#{{ progressTask.id }} {{ progressTask.name }}
{{ statusText(progressTask.status) }}
共 {{ progressTask.current_round || 0 }} 轮已完成
剩余:{{ fmtRemaining(progressTask) }}
| 时间 | 任务 | 账号 | 群组 | 状态 | 错误 |
|---|---|---|---|---|---|
| {{ l.sent_at }} | {{ l.task_id ? '#'+l.task_id : '立即' }} | {{ l.account_phone }} | {{ l.status==='success'?'成功':'失败' }} | ||
| 暂无记录 | |||||
发送记录
全部发送历史 · 共 {{ filteredLogs.length }} 条
| 时间 | 任务 | 账号 | 群组 | 状态 | 错误 |
|---|---|---|---|---|---|
| {{ l.sent_at }} | {{ l.task_id ? '#'+l.task_id : '立即' }} | {{ l.account_phone }} | {{ l.group_title }} | {{ l.status==='success'?'成功':'失败' }} | |
| 暂无记录 | |||||
Telegram 账号
所有协议号及其代理配置
| 手机号 | 昵称 | 备注 | 登入状态 | 代理 | 代理状态 | 操作 |
|---|---|---|---|---|---|---|
| {{ acc.phone }} | {{ acc.first_name || '—' }} | {{ acc.notes }}— | {{ acc.status==='online'?'已登录':'未登录' }} | {{ acc.proxy_type }}://{{ acc.proxy_host }}:{{ acc.proxy_port }}未配置 | — 检测中 未检测 正常 异常 | |
| 暂无账号 | ||||||
群组 / 频道
同步账号加入的群聊
共 {{ filteredGroupList.length }} 个结果(总 {{ groups.length }} 个)
已选 {{ selectedGroupIds.length }} 个
| 群组名称 | 类型 | 成员数 | 所属账号 | 操作 | ||
|---|---|---|---|---|---|---|
| {{ g.title }}{{ g.tags }} | {{ g.is_channel?'频道':'群组' }} | {{ g.member_count }} | {{ g.account_phones ? g.account_phones.join(', ') : g.account_phone }} | |||
| 没有匹配的群组 | ||||||
{{ groupPage }} / {{ groupTotalPages }}
加群采集
3 种方式找到公开群组,一键加入
Telegram 全局搜索对中文支持极差,建议用英文关键词。
推荐:@jisou(极搜)
正在搜索... 已翻 {{ groupScrapePages }} 页 · 已找到 {{ scrapedGroups.length }} 个群
在"搜索群"里发关键词,读取群回复里的链接。自动过滤频道,只保留群组。
你已加入的"群组搜索"群
⚠️ 会自动点"下一页"直到没有为止(最多 15 页)
正在搜索... 已翻 {{ groupScrapePages }} 页 · 已找到 {{ scrapedGroups.length }} 个群
群搜索结果质量不稳定,建议先看"成员数",太小的群(<100)质量差。
采集结果共 {{ scrapedGroups.length }} 个 · 已选 {{ selectedGroups.length }} 个
进度:{{ joinDone }} / {{ joinTotal }} · 成功 {{ joinOk }} · 失败 {{ joinErr }} [已暂停]
| 群名 | 公开链接 | 类型 | 成员 | 加入状态 | |
|---|---|---|---|---|---|
| {{ g.title }}✅ 已采集 | t.me/{{ g.username }} | {{ g.is_megagroup?'超级群':'群组' }} | {{ g.member_count }}人 | {{ g.join_msg||'已加入' }} 失败 ⓘ 已跳过 加入中 — |
用户管理
管理控制台账号
| 用户名 | 角色 | 状态 | 创建时间 | 操作 |
|---|---|---|---|---|
| {{ u.username }} | {{ u.role }} | {{ u.is_active?'启用':'禁用' }} | {{ u.created_at }} |
系统设置
全局发送策略
⏰ 发送时段限制
只在指定时段内发送
📊 每日限额
每账号每天最多发多少条
⏱ 加群延迟区间
每加一个群之间随机等待的时间(秒)
每个群之间随机等 {{ settingsForm.join_delay_min || 60 }} ~ {{ settingsForm.join_delay_max || 90 }} 秒。建议 ≥ 60 秒,太小容易被风控。
API 配置
Telegram API 凭证,用于所有账号登录
API 一条就够。API_ID + API_HASH 是"应用级凭证",一个可以管理无数个账号。
去 my.telegram.org → API development tools 申请。
去 my.telegram.org → API development tools 申请。
当前已配置
API_ID:{{ apiConfig.api_id }}
API_HASH:{{ apiConfig.api_hash }}
来源:{{ apiConfig.source === 'database' ? '数据库(后台配置)' : '.env 文件(原始配置)' }}
API_ID:{{ apiConfig.api_id }}
API_HASH:{{ apiConfig.api_hash }}
来源:{{ apiConfig.source === 'database' ? '数据库(后台配置)' : '.env 文件(原始配置)' }}
还没有配置 API,请填入后保存
{{ apiTestMsg }}
修改密码
定期更换密码